All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.code_intelligence.jazzer.api.FuzzedDataProvider
      classConcrete: true
      classEnum: false
      classFields:
      - com.code_intelligence.jazzer.api.FuzzedDataProvider
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.OpenSSHConfigFuzzer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fuzzedDataProvider
    argTypes:
    - com.code_intelligence.jazzer.api.FuzzedDataProvider
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.OpenSSHConfigFuzzer].<init>(com.code_intelligence.jazzer.api.FuzzedDataProvider)'
    functionSourceFile: /src/jsch-fuzzer/src/main/java/com/jcraft/jsch/OpenSSHConfigFuzzer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.OpenSSHConfigFuzzer
    signature: '[com.jcraft.jsch.OpenSSHConfigFuzzer].<init>(com.code_intelligence.jazzer.api.FuzzedDataProvider)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsString()'
      Src: com.jcraft.jsch.OpenSSHConfigFuzzer:36,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
      Src: com.jcraft.jsch.OpenSSHConfigFuzzer:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.code_intelligence.jazzer.api.FuzzedDataProvider
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: '[com.jcraft.jsch.OpenSSHConfigFuzzer].test()'
    functionSourceFile: /src/jsch-fuzzer/src/main/java/com/jcraft/jsch/OpenSSHConfigFuzzer.java
    functionUses: 1
    functionsReached:
    - '[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsString()'
    - '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfigFuzzer].test()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfigFuzzer].<init>(com.code_intelligence.jazzer.api.FuzzedDataProvider)'
      Src: com.jcraft.jsch.OpenSSHConfigFuzzer:46,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigFuzzer].test()'
      Src: com.jcraft.jsch.OpenSSHConfigFuzzer:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - com.code_intelligence.jazzer.api.FuzzedDataProvider
      classConcrete: true
      classEnum: false
      classFields:
      - com.code_intelligence.jazzer.api.FuzzedDataProvider
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - fuzzedDataProvider
    argTypes:
    - com.code_intelligence.jazzer.api.FuzzedDataProvider
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.OpenSSHConfigFuzzer].fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider)'
    functionSourceFile: /src/jsch-fuzzer/src/main/java/com/jcraft/jsch/OpenSSHConfigFuzzer.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfigFuzzer].test()'
    - '[com.jcraft.jsch.OpenSSHConfigFuzzer].<init>(com.code_intelligence.jazzer.api.FuzzedDataProvider)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfigFuzzer].fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doNormalize(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testNormalize0()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchangeTest].doNormalize(com.jcraft.jsch.KeyExchangeTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testNormalize0()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doNormalize(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testNormalize1()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchangeTest].doNormalize(com.jcraft.jsch.KeyExchangeTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testNormalize1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doNormalize(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testNormalize2()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchangeTest].doNormalize(com.jcraft.jsch.KeyExchangeTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testNormalize2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doNormalize(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testNormalize3()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchangeTest].doNormalize(com.jcraft.jsch.KeyExchangeTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testNormalize3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:60,1
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doNormalize(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testNormalizeRandom()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchangeTest].doNormalize(com.jcraft.jsch.KeyExchangeTest)'
    - '[java.util.Random].nextBytes(com.jcraft.jsch.KeyExchangeTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testNormalizeRandom()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].nextInt()'
      Src: com.jcraft.jsch.KeyExchangeTest:68,1
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doEncodeInt(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testEncodeIntRandom()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchangeTest].doEncodeInt(com.jcraft.jsch.KeyExchangeTest)'
    - '[java.util.Random].nextInt()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testEncodeIntRandom()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsMPInt(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsMPInt1()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsMPInt(com.jcraft.jsch.KeyExchangeTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsMPInt1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsMPInt(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsMPInt2()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsMPInt(com.jcraft.jsch.KeyExchangeTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsMPInt2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsMPInt(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsMPInt3()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsMPInt(com.jcraft.jsch.KeyExchangeTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsMPInt3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:112,1
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsMPInt(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsMPIntRandom()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Random].nextBytes(com.jcraft.jsch.KeyExchangeTest)'
    - '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsMPInt(com.jcraft.jsch.KeyExchangeTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsMPIntRandom()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsString(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsString0()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsString(com.jcraft.jsch.KeyExchangeTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsString0()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsString(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsString1()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsString(com.jcraft.jsch.KeyExchangeTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsString1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsString(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsString2()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsString(com.jcraft.jsch.KeyExchangeTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsString2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsString(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsString3()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsString(com.jcraft.jsch.KeyExchangeTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsString3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:163,1
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsString(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsStringRandom()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Random].nextBytes(com.jcraft.jsch.KeyExchangeTest)'
    - '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsString(com.jcraft.jsch.KeyExchangeTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsStringRandom()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].copyOf(byte[],com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:169,1
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].normalize(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:169,1
    - Dst: '[java.util.Arrays].copyOf(byte[],com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:170,1
    - Dst: '[com.jcraft.jsch.KeyExchange].normalize(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:170,1
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].assertArrayEquals(byte[],byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:172,1
    - Dst: '[java.util.Arrays].toString(byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:174,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyExchangeTest:174,1
    - Dst: '[java.util.Arrays].toString(byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:175,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyExchangeTest:175,1
    - Dst: '[java.util.Arrays].toString(byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:176,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyExchangeTest:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - secret
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: '[com.jcraft.jsch.KeyExchangeTest].doNormalize(byte[])'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].toString(byte[])'
    - '[com.jcraft.jsch.KeyExchange].normalize(com.jcraft.jsch.KeyExchangeTest)'
    - '[com.jcraft.jsch.KeyExchangeTest].assertArrayEquals(byte[],byte[])'
    - '[java.util.Arrays].copyOf(byte[],com.jcraft.jsch.KeyExchangeTest)'
    - '[com.jcraft.jsch.KeyExchangeTest].normalize(com.jcraft.jsch.KeyExchangeTest)'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].doNormalize(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyExchangeTest,int,com.jcraft.jsch.KeyExchangeTest)
      Src: com.jcraft.jsch.KeyExchangeTest:185,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:186,1
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].normalize(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - secret
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: '[com.jcraft.jsch.KeyExchangeTest].normalize(byte[])'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyExchangeTest,int,com.jcraft.jsch.KeyExchangeTest)
    - '[com.jcraft.jsch.KeyExchangeTest].normalize(com.jcraft.jsch.KeyExchangeTest)'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyExchangeTest].normalize(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.KeyExchangeTest:194,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.KeyExchangeTest:195,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.KeyExchangeTest:196,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:197,1
    - Dst: '[com.jcraft.jsch.KeyExchange].encodeInt(int)'
      Src: com.jcraft.jsch.KeyExchangeTest:198,1
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].assertArrayEquals(com.jcraft.jsch.KeyExchangeTest,byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:200,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyExchangeTest:202,1
    - Dst: '[java.util.Arrays].toString(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:203,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyExchangeTest:203,1
    - Dst: '[java.util.Arrays].toString(byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:204,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyExchangeTest:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - secret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: '[com.jcraft.jsch.KeyExchangeTest].doEncodeInt(int)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].toString(byte[])'
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyExchangeTest)'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].getLength()'
    - '[com.jcraft.jsch.KeyExchangeTest].assertArrayEquals(com.jcraft.jsch.KeyExchangeTest,byte[])'
    - '[java.util.Arrays].toString(com.jcraft.jsch.KeyExchangeTest)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.KeyExchange].encodeInt(int)'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].doEncodeInt(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.KeyExchangeTest:210,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:211,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.KeyExchangeTest:212,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:213,1
    - Dst: '[java.util.Arrays].copyOf(byte[],com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:214,1
    - Dst: '[com.jcraft.jsch.KeyExchange].encodeAsMPInt(com.jcraft.jsch.KeyExchangeTest,boolean)'
      Src: com.jcraft.jsch.KeyExchangeTest:214,1
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].assertArrayEquals(com.jcraft.jsch.KeyExchangeTest,byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:216,1
    - Dst: '[java.util.Arrays].toString(byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:218,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyExchangeTest:218,1
    - Dst: '[java.util.Arrays].toString(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:219,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyExchangeTest:219,1
    - Dst: '[java.util.Arrays].toString(byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:220,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyExchangeTest:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - secret
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 223
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 223
    functionName: '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsMPInt(byte[])'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].toString(byte[])'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyExchangeTest)'
    - '[com.jcraft.jsch.Buffer].getLength()'
    - '[java.util.Arrays].copyOf(byte[],com.jcraft.jsch.KeyExchangeTest)'
    - '[com.jcraft.jsch.KeyExchangeTest].assertArrayEquals(com.jcraft.jsch.KeyExchangeTest,byte[])'
    - '[java.util.Arrays].toString(com.jcraft.jsch.KeyExchangeTest)'
    - '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
    - '[com.jcraft.jsch.KeyExchange].encodeAsMPInt(com.jcraft.jsch.KeyExchangeTest,boolean)'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsMPInt(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.KeyExchangeTest:226,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:227,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.KeyExchangeTest:228,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:229,1
    - Dst: '[java.util.Arrays].copyOf(byte[],com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:230,1
    - Dst: '[com.jcraft.jsch.KeyExchange].encodeAsString(com.jcraft.jsch.KeyExchangeTest,boolean)'
      Src: com.jcraft.jsch.KeyExchangeTest:230,1
    - Dst: '[com.jcraft.jsch.KeyExchangeTest].assertArrayEquals(com.jcraft.jsch.KeyExchangeTest,byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:232,1
    - Dst: '[java.util.Arrays].toString(byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:234,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyExchangeTest:234,1
    - Dst: '[java.util.Arrays].toString(com.jcraft.jsch.KeyExchangeTest)'
      Src: com.jcraft.jsch.KeyExchangeTest:235,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyExchangeTest:235,1
    - Dst: '[java.util.Arrays].toString(byte[])'
      Src: com.jcraft.jsch.KeyExchangeTest:236,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyExchangeTest:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - secret
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsString(byte[])'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].toString(byte[])'
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyExchangeTest)'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].getLength()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.KeyExchangeTest].assertArrayEquals(com.jcraft.jsch.KeyExchangeTest,byte[])'
    - '[java.util.Arrays].toString(com.jcraft.jsch.KeyExchangeTest)'
    - '[java.util.Arrays].copyOf(byte[],com.jcraft.jsch.KeyExchangeTest)'
    - System.out.println(String)
    - '[com.jcraft.jsch.KeyExchange].encodeAsString(com.jcraft.jsch.KeyExchangeTest,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsString(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.KeyExchangeTest:11,1
    - Dst: '[com.jcraft.jsch.KeyExchangeTest.TestKex].<init>()'
      Src: com.jcraft.jsch.KeyExchangeTest:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Random
      - com.jcraft.jsch.KeyExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyExchangeTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KeyExchangeTest].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchangeTest.TestKex].<init>()'
    - '[java.util.Random].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyExchangeTest
    signature: '[com.jcraft.jsch.KeyExchangeTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.KeyExchangeTest.TestKex:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: KeyExchange
    argCount: 5
    argNames:
    - session
    - V_S
    - V_C
    - I_S
    - I_C
    argTypes:
    - com.jcraft.jsch.Session
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: '[com.jcraft.jsch.KeyExchangeTest.TestKex].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchangeTest.TestKex].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.KeyExchangeTest.TestKex:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: KeyExchange
    argCount: 1
    argNames:
    - buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: '[com.jcraft.jsch.KeyExchangeTest.TestKex].next(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyExchangeTest.TestKex].next(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.KeyExchangeTest.TestKex:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: '[com.jcraft.jsch.KeyExchangeTest.TestKex].getState()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyExchangeTest.TestKex].getState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyExchangeTest.TestKex
      static: false
      superClass: KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KeyExchangeTest.TestKex].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KeyExchangeTest.TestKex
    signature: '[com.jcraft.jsch.KeyExchangeTest.TestKex].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.JSchTest:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: '[com.jcraft.jsch.JSchTest].resetJsch()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSchTest].resetJsch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.JSchTest:22,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.JSchTest:23,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.JSchTest:23,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.JSchTest:24,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.JSchTest:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: '[com.jcraft.jsch.JSchTest].getPubkeyAcceptedKeyTypes()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchTest].assertEquals(String,String)'
    - '[com.jcraft.jsch.JSch].setConfig(String,String)'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSchTest].getPubkeyAcceptedKeyTypes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.JSchTest:29,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.JSchTest:30,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.JSchTest:30,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.JSchTest:31,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.JSchTest:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.JSchTest].setPubkeyAcceptedKeyTypes()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchTest].assertEquals(String,String)'
    - '[com.jcraft.jsch.JSch].setConfig(String,String)'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSchTest].setPubkeyAcceptedKeyTypes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Hashtable].<init>()'
      Src: com.jcraft.jsch.JSchTest:36,1
    - Dst: '[java.util.Hashtable].put(String,String)'
      Src: com.jcraft.jsch.JSchTest:37,1
    - Dst: '[com.jcraft.jsch.JSch].setConfig(java.util.Hashtable)'
      Src: com.jcraft.jsch.JSchTest:38,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.JSchTest:39,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.JSchTest:39,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.JSchTest:40,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.JSchTest:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.JSchTest].setPubkeyAcceptedKeyTypesHashtable()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchTest].assertEquals(String,String)'
    - '[java.util.Hashtable].<init>()'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[java.util.Hashtable].put(String,String)'
    - '[com.jcraft.jsch.JSch].setConfig(java.util.Hashtable)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSchTest].setPubkeyAcceptedKeyTypesHashtable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchTest].assertSame(com.jcraft.jsch.Logger,com.jcraft.jsch.Logger,String)'
      Src: com.jcraft.jsch.JSchTest:45,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.JSchTest:47,1
    - Dst: '[com.jcraft.jsch.JSch].getInstanceLogger()'
      Src: com.jcraft.jsch.JSchTest:48,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertSame(com.jcraft.jsch.Logger,com.jcraft.jsch.Logger,String)'
      Src: com.jcraft.jsch.JSchTest:48,1
    - Dst: '[com.jcraft.jsch.JSchTest.TestLogger].<init>()'
      Src: com.jcraft.jsch.JSchTest:50,1
    - Dst: '[com.jcraft.jsch.JSchTest.TestLogger].<init>()'
      Src: com.jcraft.jsch.JSchTest:51,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.JSchTest.TestLogger)'
      Src: com.jcraft.jsch.JSchTest:53,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertSame(com.jcraft.jsch.JSchTest.TestLogger,com.jcraft.jsch.Logger,String)'
      Src: com.jcraft.jsch.JSchTest:54,1
    - Dst: '[com.jcraft.jsch.JSch].getInstanceLogger()'
      Src: com.jcraft.jsch.JSchTest:55,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertSame(com.jcraft.jsch.JSchTest.TestLogger,com.jcraft.jsch.Logger,String)'
      Src: com.jcraft.jsch.JSchTest:55,1
    - Dst: '[com.jcraft.jsch.JSch].setInstanceLogger(com.jcraft.jsch.JSchTest.TestLogger)'
      Src: com.jcraft.jsch.JSchTest:57,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertSame(com.jcraft.jsch.JSchTest.TestLogger,com.jcraft.jsch.Logger,String)'
      Src: com.jcraft.jsch.JSchTest:58,1
    - Dst: '[com.jcraft.jsch.JSch].getInstanceLogger()'
      Src: com.jcraft.jsch.JSchTest:59,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertSame(com.jcraft.jsch.JSchTest.TestLogger,com.jcraft.jsch.Logger,String)'
      Src: com.jcraft.jsch.JSchTest:59,1
    - Dst: '[com.jcraft.jsch.JSch].setInstanceLogger(null)'
      Src: com.jcraft.jsch.JSchTest:61,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertSame(com.jcraft.jsch.JSchTest.TestLogger,com.jcraft.jsch.Logger,String)'
      Src: com.jcraft.jsch.JSchTest:62,1
    - Dst: '[com.jcraft.jsch.JSch].getInstanceLogger()'
      Src: com.jcraft.jsch.JSchTest:63,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertSame(com.jcraft.jsch.JSchTest.TestLogger,com.jcraft.jsch.Logger,String)'
      Src: com.jcraft.jsch.JSchTest:63,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.JSchTest:65,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertSame(com.jcraft.jsch.Logger,com.jcraft.jsch.Logger,String)'
      Src: com.jcraft.jsch.JSchTest:66,1
    - Dst: '[com.jcraft.jsch.JSch].getInstanceLogger()'
      Src: com.jcraft.jsch.JSchTest:67,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertSame(com.jcraft.jsch.Logger,com.jcraft.jsch.Logger,String)'
      Src: com.jcraft.jsch.JSchTest:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 68
    functionName: '[com.jcraft.jsch.JSchTest].checkLoggerBehavior()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.JSchTest.TestLogger)'
    - '[com.jcraft.jsch.JSchTest].assertSame(com.jcraft.jsch.JSchTest.TestLogger,com.jcraft.jsch.Logger,String)'
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].setInstanceLogger(com.jcraft.jsch.JSchTest.TestLogger)'
    - '[com.jcraft.jsch.JSchTest].assertSame(com.jcraft.jsch.Logger,com.jcraft.jsch.Logger,String)'
    - '[com.jcraft.jsch.JSch].setInstanceLogger(null)'
    - '[com.jcraft.jsch.JSch].getInstanceLogger()'
    - '[com.jcraft.jsch.JSchTest.TestLogger].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSchTest].checkLoggerBehavior()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig()'
      Src: com.jcraft.jsch.JSchTest:72,1
    - Dst: '[String].size()'
      Src: com.jcraft.jsch.JSchTest:76,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertTrue(int)'
      Src: com.jcraft.jsch.JSchTest:77,1
    - Dst: '[String].containsKey(String)'
      Src: com.jcraft.jsch.JSchTest:78,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertTrue(com.jcraft.jsch.JSchTest)'
      Src: com.jcraft.jsch.JSchTest:78,1
    - Dst: '[String].containsKey(String)'
      Src: com.jcraft.jsch.JSchTest:79,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertTrue(com.jcraft.jsch.JSchTest)'
      Src: com.jcraft.jsch.JSchTest:79,1
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.JSchTest:82,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig()'
      Src: com.jcraft.jsch.JSchTest:85,1
    - Dst: '[String].size()'
      Src: com.jcraft.jsch.JSchTest:86,1
    - Dst: '[com.jcraft.jsch.JSchTest].assertEquals(int,com.jcraft.jsch.JSchTest)'
      Src: com.jcraft.jsch.JSchTest:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: '[com.jcraft.jsch.JSchTest].getConfig()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchTest].assertTrue(com.jcraft.jsch.JSchTest)'
    - '[com.jcraft.jsch.JSchTest].assertTrue(int)'
    - '[com.jcraft.jsch.JSchTest].assertEquals(int,com.jcraft.jsch.JSchTest)'
    - '[String].size()'
    - '[com.jcraft.jsch.JSch].getConfig()'
    - '[com.jcraft.jsch.JSch].setConfig(String,String)'
    - '[String].containsKey(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSchTest].getConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JSchTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.JSchTest].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.JSchTest
    signature: '[com.jcraft.jsch.JSchTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[com.jcraft.jsch.JSchTest.TestLogger].isEnabled(int)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.JSchTest.TestLogger].isEnabled(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - message
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[com.jcraft.jsch.JSchTest.TestLogger].log(int,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSchTest.TestLogger].log(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JSchTest.TestLogger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.JSchTest.TestLogger].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchTest.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.JSchTest.TestLogger
    signature: '[com.jcraft.jsch.JSchTest.TestLogger].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairIT:39,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairIT:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.KeyPairIT].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairIT].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPairIT:45,1
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPairIT:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '[com.jcraft.jsch.KeyPairIT].afterEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairIT].afterEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,null,null)'
      Src: com.jcraft.jsch.KeyPairIT:57,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:58,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,null)'
      Src: com.jcraft.jsch.KeyPairIT:58,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:59,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,String)'
      Src: com.jcraft.jsch.KeyPairIT:59,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:60,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,String)'
      Src: com.jcraft.jsch.KeyPairIT:60,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,null,null)'
      Src: com.jcraft.jsch.KeyPairIT:62,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:63,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,null)'
      Src: com.jcraft.jsch.KeyPairIT:63,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:64,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,String)'
      Src: com.jcraft.jsch.KeyPairIT:64,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:65,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,String)'
      Src: com.jcraft.jsch.KeyPairIT:65,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,null,null)'
      Src: com.jcraft.jsch.KeyPairIT:67,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:68,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,null)'
      Src: com.jcraft.jsch.KeyPairIT:68,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:69,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,String)'
      Src: com.jcraft.jsch.KeyPairIT:69,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:70,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,String)'
      Src: com.jcraft.jsch.KeyPairIT:70,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,null,null)'
      Src: com.jcraft.jsch.KeyPairIT:72,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:73,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,null)'
      Src: com.jcraft.jsch.KeyPairIT:73,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:74,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,String)'
      Src: com.jcraft.jsch.KeyPairIT:74,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:75,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,String)'
      Src: com.jcraft.jsch.KeyPairIT:75,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,null,null)'
      Src: com.jcraft.jsch.KeyPairIT:77,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:78,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,null)'
      Src: com.jcraft.jsch.KeyPairIT:78,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:79,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,String)'
      Src: com.jcraft.jsch.KeyPairIT:79,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:80,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,String)'
      Src: com.jcraft.jsch.KeyPairIT:80,1
    - Dst: '[java.util.stream.Stream].of(com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.stream.Stream<org.junit.jupiter.params.provider.Arguments>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 82
    functionName: '[com.jcraft.jsch.KeyPairIT].writeOpenSSHv1KeyArgs()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairIT.java
    functionUses: 0
    functionsReached:
    - '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,String)'
    - '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
    - '[org.junit.jupiter.params.provider.Arguments].of(int,int,null,null)'
    - '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,null)'
    - '[java.util.stream.Stream].of(com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT)'
    linkageType: ''
    returnType: java.util.stream.Stream<org.junit.jupiter.params.provider.Arguments>
    signature: '[com.jcraft.jsch.KeyPairIT].writeOpenSSHv1KeyArgs()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,null,null)'
      Src: com.jcraft.jsch.KeyPairIT:85,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:86,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,null)'
      Src: com.jcraft.jsch.KeyPairIT:86,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:87,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,String)'
      Src: com.jcraft.jsch.KeyPairIT:87,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:88,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,String)'
      Src: com.jcraft.jsch.KeyPairIT:88,1
    - Dst: '[java.util.stream.Stream].of(com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.stream.Stream<org.junit.jupiter.params.provider.Arguments>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: '[com.jcraft.jsch.KeyPairIT].java15WriteOpenSSHv1KeyArgs()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairIT.java
    functionUses: 0
    functionsReached:
    - '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,String)'
    - '[String].getBytes(com.jcraft.jsch.KeyPairIT)'
    - '[org.junit.jupiter.params.provider.Arguments].of(int,int,null,null)'
    - '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPairIT,null)'
    - '[java.util.stream.Stream].of(com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT)'
    linkageType: ''
    returnType: java.util.stream.Stream<org.junit.jupiter.params.provider.Arguments>
    signature: '[com.jcraft.jsch.KeyPairIT].java15WriteOpenSSHv1KeyArgs()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairIT].createIdentity(String,String)'
      Src: com.jcraft.jsch.KeyPairIT:96,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KeyPairIT:98,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPairIT:101,1
    - Dst: '[com.jcraft.jsch.Session].connect(int)'
      Src: com.jcraft.jsch.KeyPairIT:104,1
    - Dst: '[com.jcraft.jsch.Session].isConnected()'
      Src: com.jcraft.jsch.KeyPairIT:105,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].assertTrue(boolean)'
      Src: com.jcraft.jsch.KeyPairIT:105,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.KeyPairIT:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - path
    - password
    - keyType
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 6
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: '[com.jcraft.jsch.KeyPairIT].connectWithPublicKey(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.KeyPairIT].createIdentity(String,String)'
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[com.jcraft.jsch.KeyPairIT].assertTrue(boolean)'
    - '[com.jcraft.jsch.Session].connect(int)'
    - '[com.jcraft.jsch.Session].isConnected()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairIT].connectWithPublicKey(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KeyPairIT:116,1
    - Dst: ClassLoader.getSystemResource(String)
      Src: com.jcraft.jsch.KeyPairIT:119,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].toURI()'
      Src: com.jcraft.jsch.KeyPairIT:119,1
    - Dst: '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:119,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].toFile()'
      Src: com.jcraft.jsch.KeyPairIT:119,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].getAbsolutePath()'
      Src: com.jcraft.jsch.KeyPairIT:119,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:118,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KeyPairIT:121,1
    - Dst: '[com.jcraft.jsch.UserInfo].<init>()'
      Src: com.jcraft.jsch.KeyPairIT:122,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(com.jcraft.jsch.UserInfo)'
      Src: com.jcraft.jsch.KeyPairIT:122,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPairIT:153,1
    - Dst: '[com.jcraft.jsch.Session].connect(int)'
      Src: com.jcraft.jsch.KeyPairIT:156,1
    - Dst: '[com.jcraft.jsch.Session].isConnected()'
      Src: com.jcraft.jsch.KeyPairIT:157,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].assertTrue(boolean)'
      Src: com.jcraft.jsch.KeyPairIT:157,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.KeyPairIT:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - path
    - password
    - keyType
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 161
      start: 111
    functionDepth: 6
    functionLinenumber: 111
    functionLinenumberEnd: 161
    functionName: '[com.jcraft.jsch.KeyPairIT].connectWithPublicKeyAndUserInfo(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.KeyPairIT)'
    - '[com.jcraft.jsch.KeyPairIT].toFile()'
    - '[com.jcraft.jsch.KeyPairIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[com.jcraft.jsch.KeyPairIT].toURI()'
    - '[com.jcraft.jsch.KeyPairIT].getAbsolutePath()'
    - '[com.jcraft.jsch.UserInfo].<init>()'
    - '[com.jcraft.jsch.Session].setUserInfo(com.jcraft.jsch.UserInfo)'
    - '[com.jcraft.jsch.KeyPairIT].assertTrue(boolean)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.Session].connect(int)'
    - '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPairIT)'
    - ClassLoader.getSystemResource(String)
    - '[com.jcraft.jsch.Session].isConnected()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairIT].connectWithPublicKeyAndUserInfo(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KeyPairIT:167,1
    - Dst: '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
      Src: com.jcraft.jsch.KeyPairIT:168,1
    - Dst: '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
      Src: com.jcraft.jsch.KeyPairIT:169,1
    - Dst: '[com.jcraft.jsch.KeyPairIT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPairIT,byte[],String)'
      Src: com.jcraft.jsch.KeyPairIT:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - type
    - key_size
    - passphrase
    - cipher
    argTypes:
    - int
    - int
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: '[com.jcraft.jsch.KeyPairIT].testWriteOpenSSHv1Keys(int,int,byte[],String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
    - '[com.jcraft.jsch.KeyPairIT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPairIT,byte[],String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairIT].testWriteOpenSSHv1Keys(int,int,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPairIT:178,1
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPairIT:179,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KeyPairIT:180,1
    - Dst: '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
      Src: com.jcraft.jsch.KeyPairIT:181,1
    - Dst: '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
      Src: com.jcraft.jsch.KeyPairIT:182,1
    - Dst: '[com.jcraft.jsch.KeyPairIT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPairIT,byte[],String)'
      Src: com.jcraft.jsch.KeyPairIT:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - type
    - key_size
    - passphrase
    - cipher
    argTypes:
    - int
    - int
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: '[com.jcraft.jsch.KeyPairIT].testJava15WriteOpenSSHv1Keys(int,int,byte[],String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
    - '[com.jcraft.jsch.KeyPairIT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPairIT,byte[],String)'
    - '[com.jcraft.jsch.JSch].setConfig(String,String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairIT].testJava15WriteOpenSSHv1Keys(int,int,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPairIT:190,1
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPairIT:191,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KeyPairIT:192,1
    - Dst: '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
      Src: com.jcraft.jsch.KeyPairIT:193,1
    - Dst: '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
      Src: com.jcraft.jsch.KeyPairIT:194,1
    - Dst: '[com.jcraft.jsch.KeyPairIT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPairIT,byte[],String)'
      Src: com.jcraft.jsch.KeyPairIT:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - type
    - key_size
    - passphrase
    - cipher
    argTypes:
    - int
    - int
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: '[com.jcraft.jsch.KeyPairIT].testBCWriteOpenSSHv1Keys(int,int,byte[],String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
    - '[com.jcraft.jsch.KeyPairIT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPairIT,byte[],String)'
    - '[com.jcraft.jsch.JSch].setConfig(String,String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairIT].testBCWriteOpenSSHv1Keys(int,int,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.KeyPairIT:200,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].toString()'
      Src: com.jcraft.jsch.KeyPairIT:201,1
    - Dst: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(com.jcraft.jsch.KeyPairIT,byte[],String)'
      Src: com.jcraft.jsch.KeyPairIT:201,1
    - Dst: '[org.testcontainers.utility.MountableFile].forHostPath(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:202,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].copyFileToContainer(com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:204,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].execInContainer(com.jcraft.jsch.KeyPairIT,String,String,com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:205,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].getExitCode()'
      Src: com.jcraft.jsch.KeyPairIT:206,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].assertEquals(int,com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:206,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].execInContainer(com.jcraft.jsch.KeyPairIT,String,String,String,String,com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:207,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].getExitCode()'
      Src: com.jcraft.jsch.KeyPairIT:210,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].assertEquals(int,com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:210,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].getStdout()'
      Src: com.jcraft.jsch.KeyPairIT:212,1
    - Dst: System.out.println(com.jcraft.jsch.KeyPairIT)
      Src: com.jcraft.jsch.KeyPairIT:212,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].getStderr()'
      Src: com.jcraft.jsch.KeyPairIT:213,1
    - Dst: System.out.println(com.jcraft.jsch.KeyPairIT)
      Src: com.jcraft.jsch.KeyPairIT:213,1
    - Dst: System.out.println(com.jcraft.jsch.KeyPairIT)
      Src: com.jcraft.jsch.KeyPairIT:214,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:216,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].forEach()'
      Src: com.jcraft.jsch.KeyPairIT:216,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyPairIT:219,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyPairIT:220,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyPairIT:221,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.KeyPair
      - String
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - kp
    - name
    - passphrase
    - cipher
    argTypes:
    - com.jcraft.jsch.KeyPair
    - String
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 225
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 225
    functionName: '[com.jcraft.jsch.KeyPairIT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,String,byte[],String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairIT.java
    functionUses: 0
    functionsReached:
    - '[org.testcontainers.containers.GenericContainer<?>].execInContainer(com.jcraft.jsch.KeyPairIT,String,String,com.jcraft.jsch.KeyPairIT)'
    - '[com.jcraft.jsch.KeyPairIT].getExitCode()'
    - '[org.testcontainers.utility.MountableFile].forHostPath(com.jcraft.jsch.KeyPairIT)'
    - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(com.jcraft.jsch.KeyPairIT,byte[],String)'
    - '[java.nio.file.Path].resolve(String)'
    - '[com.jcraft.jsch.KeyPairIT].getStderr()'
    - '[org.testcontainers.containers.GenericContainer<?>].execInContainer(com.jcraft.jsch.KeyPairIT,String,String,String,String,com.jcraft.jsch.KeyPairIT)'
    - '[com.jcraft.jsch.KeyPairIT].getStdout()'
    - '[com.jcraft.jsch.KeyPairIT].forEach()'
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT)'
    - System.out.println(com.jcraft.jsch.KeyPairIT)
    - '[com.jcraft.jsch.KeyPairIT].toString()'
    - '[com.jcraft.jsch.KeyPairIT].assertEquals(int,com.jcraft.jsch.KeyPairIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].copyFileToContainer(com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT)'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairIT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,String,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KeyPairIT:229,1
    - Dst: ClassLoader.getSystemResource(String)
      Src: com.jcraft.jsch.KeyPairIT:232,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].toURI()'
      Src: com.jcraft.jsch.KeyPairIT:232,1
    - Dst: '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:232,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].toFile()'
      Src: com.jcraft.jsch.KeyPairIT:232,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].getAbsolutePath()'
      Src: com.jcraft.jsch.KeyPairIT:232,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.KeyPairIT,String)'
      Src: com.jcraft.jsch.KeyPairIT:231,1
    - Dst: ClassLoader.getSystemResource(String)
      Src: com.jcraft.jsch.KeyPairIT:236,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].toURI()'
      Src: com.jcraft.jsch.KeyPairIT:236,1
    - Dst: '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:236,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].toFile()'
      Src: com.jcraft.jsch.KeyPairIT:236,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].getAbsolutePath()'
      Src: com.jcraft.jsch.KeyPairIT:236,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - password
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: '[com.jcraft.jsch.KeyPairIT].createIdentity(String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.KeyPairIT)'
    - '[com.jcraft.jsch.KeyPairIT].toFile()'
    - '[com.jcraft.jsch.KeyPairIT].toURI()'
    - '[com.jcraft.jsch.KeyPairIT].getAbsolutePath()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPairIT)'
    - ClassLoader.getSystemResource(String)
    - '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.KeyPairIT,String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.KeyPairIT].createIdentity(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.KeyPairIT:242,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.KeyPairIT:242,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:242,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPairIT:243,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPairIT:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: '[com.jcraft.jsch.KeyPairIT].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairIT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.KeyPairIT,com.jcraft.jsch.KeyPairIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.KeyPairIT].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.KeyPairIT:51,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPairIT:51,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPairIT:51,1
    - Dst: '[com.jcraft.jsch.KeyPairIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPairIT:51,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.KeyPairIT)'
      Src: com.jcraft.jsch.KeyPairIT:50,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.KeyPairIT:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyPairIT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KeyPairIT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairIT].withFileFromClasspath(String,String)'
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.KeyPairIT)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairIT
    signature: '[com.jcraft.jsch.KeyPairIT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].createRSAIdentity()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:56,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:57,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:58,1
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:59,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].assertThrows()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:61,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:63,1
    - Dst: String.format(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,String,String,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,String)
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:66,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getMessage()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:70,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].assertEquals(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:70,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getAlgorithmName()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:71,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].assertEquals(String,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:71,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getJSchProposal()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:72,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].assertEquals(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:72,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getServerProposal()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:73,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].assertEquals(String,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - algorithmName
    - serverProposal
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 74
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 74
    functionName: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].testJSchAlgoNegoFailException(String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchAlgoNegoFailExceptionIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].createRSAIdentity()'
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getMessage()'
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].assertEquals(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getServerProposal()'
    - String.format(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,String,String,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,String)
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getAlgorithmName()'
    - '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].assertEquals(String,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getJSchProposal()'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].assertThrows()'
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].testJSchAlgoNegoFailException(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getResourceFile(String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:77,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].readHostKey(String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:77,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:78,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getResourceFile(String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:79,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getResourceFile(String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:79,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:79,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:80,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].createRSAIdentity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchAlgoNegoFailExceptionIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].readHostKey(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].createRSAIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:85,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:85,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].get(int)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:86,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].split(String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:86,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:88,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:88,1
    - Dst: String.format(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,String,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:88,1
    - Dst: '[java.util.Base64].getDecoder()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:89,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].decode()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:89,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].readHostKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchAlgoNegoFailExceptionIT.java
    functionUses: 1
    functionsReached:
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
    - '[java.nio.file.Paths].get(String)'
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].decode()'
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].get(int)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - String.format(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,String,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
    - '[java.util.Base64].getDecoder()'
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].split(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].readHostKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:93,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:93,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:93,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:94,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchAlgoNegoFailExceptionIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getClass()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:100,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getResourceFile(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchAlgoNegoFailExceptionIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getClass()'
    - '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT,String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getResourceFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:26,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:25,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchAlgoNegoFailExceptionIT.java
    functionUses: 0
    functionsReached:
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.JSchAlgoNegoFailExceptionIT)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].withFileFromClasspath(String,String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchAlgoNegoFailExceptionIT
    signature: '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Class<?>].getClassLoader()'
      Src: com.jcraft.jsch.ResourceUtil:7,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResource(String)'
      Src: com.jcraft.jsch.ResourceUtil:7,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getFile()'
      Src: com.jcraft.jsch.ResourceUtil:7,1
    - Dst: '[java.io.File].<init>(com.jcraft.jsch.ResourceUtil)'
      Src: com.jcraft.jsch.ResourceUtil:11,1
    - Dst: '[java.io.File].getAbsolutePath()'
      Src: com.jcraft.jsch.ResourceUtil:11,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - clazz
    - fileName
    argTypes:
    - Class<?>
    - String
    constantsTouched: []
    func_position:
      end: 12
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 12
    functionName: '[com.jcraft.jsch.ResourceUtil].getResourceFile(Class<?>,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ResourceUtil.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].<init>(com.jcraft.jsch.ResourceUtil)'
    - '[java.io.File].getAbsolutePath()'
    - '[Class<?>].getClassLoader()'
    - '[com.jcraft.jsch.ResourceUtil].getFile()'
    - '[com.jcraft.jsch.ResourceUtil].getResource(String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ResourceUtil].getResourceFile(Class<?>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ResourceUtil
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ResourceUtil].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ResourceUtil.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ResourceUtil
    signature: '[com.jcraft.jsch.ResourceUtil].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].<init>(int)'
      Src: com.jcraft.jsch.PktSize32768IT:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.PktSize32768IT
      static: false
      superClass: com.jcraft.jsch.AbstractBufferMargin
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 8
    functionDepth: 2
    functionLinenumber: 8
    functionLinenumberEnd: 10
    functionName: '[com.jcraft.jsch.PktSize32768IT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/PktSize32768IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AbstractBufferMargin].<init>(int)'
    linkageType: ''
    returnType: com.jcraft.jsch.PktSize32768IT
    signature: '[com.jcraft.jsch.PktSize32768IT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.PktSize32768IT].doTestSftp(String,String,String)'
      Src: com.jcraft.jsch.PktSize32768IT:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.AbstractBufferMargin
    argCount: 3
    argNames:
    - cipher
    - mac
    - compression
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 28
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 28
    functionName: '[com.jcraft.jsch.PktSize32768IT].testSftp(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/PktSize32768IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.PktSize32768IT].doTestSftp(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PktSize32768IT].testSftp(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.PktSize32768IT].doTestScp(String,String,String)'
      Src: com.jcraft.jsch.PktSize32768IT:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.AbstractBufferMargin
    argCount: 3
    argNames:
    - cipher
    - mac
    - compression
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.PktSize32768IT].testScp(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/PktSize32768IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.PktSize32768IT].doTestScp(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PktSize32768IT].testScp(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].<init>(int)'
      Src: com.jcraft.jsch.PktSize192IT:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.PktSize192IT
      static: false
      superClass: com.jcraft.jsch.AbstractBufferMargin
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 8
    functionDepth: 2
    functionLinenumber: 8
    functionLinenumberEnd: 10
    functionName: '[com.jcraft.jsch.PktSize192IT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/PktSize192IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AbstractBufferMargin].<init>(int)'
    linkageType: ''
    returnType: com.jcraft.jsch.PktSize192IT
    signature: '[com.jcraft.jsch.PktSize192IT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.PktSize192IT].doTestSftp(String,String,String)'
      Src: com.jcraft.jsch.PktSize192IT:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.AbstractBufferMargin
    argCount: 3
    argNames:
    - cipher
    - mac
    - compression
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 18
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 18
    functionName: '[com.jcraft.jsch.PktSize192IT].testSftp(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/PktSize192IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.PktSize192IT].doTestSftp(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PktSize192IT].testSftp(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperties()
      Src: com.jcraft.jsch.KnownHostsTest:62,1
    - Dst: '[java.util.Properties].<init>(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:63,1
    - Dst: System.setProperties(java.util.Properties)
      Src: com.jcraft.jsch.KnownHostsTest:64,1
    - Dst: '[java.util.Hashtable].<init>(java.util.Hashtable<String,String>)'
      Src: com.jcraft.jsch.KnownHostsTest:65,1
    - Dst: '[java.util.LinkedList].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:66,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:67,1
    - Dst: '[com.jcraft.jsch.JSchTest.TestLogger].<init>(java.util.LinkedList)'
      Src: com.jcraft.jsch.KnownHostsTest:68,1
    - Dst: '[com.jcraft.jsch.JSch].setInstanceLogger(com.jcraft.jsch.JSchTest.TestLogger)'
      Src: com.jcraft.jsch.KnownHostsTest:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: '[com.jcraft.jsch.KnownHostsTest].setupTest()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - System.setProperties(java.util.Properties)
    - System.getProperties()
    - '[java.util.Properties].<init>(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.JSchTest.TestLogger].<init>(java.util.LinkedList)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].setInstanceLogger(com.jcraft.jsch.JSchTest.TestLogger)'
    - '[java.util.LinkedList].<init>()'
    - '[java.util.Hashtable].<init>(java.util.Hashtable<String,String>)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].setupTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.setProperties(java.util.Properties)
      Src: com.jcraft.jsch.KnownHostsTest:73,1
    - Dst: '[com.jcraft.jsch.JSch].setConfig(java.util.Hashtable<String,String>)'
      Src: com.jcraft.jsch.KnownHostsTest:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.KnownHostsTest].tearDownTest()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - System.setProperties(java.util.Properties)
    - '[com.jcraft.jsch.JSch].setConfig(java.util.Hashtable<String,String>)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].tearDownTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:80,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getKnownHostsFile()'
      Src: com.jcraft.jsch.KnownHostsTest:82,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNull(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:82,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getKnownHostsRepositoryID()'
      Src: com.jcraft.jsch.KnownHostsTest:83,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNull(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:83,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(com.jcraft.jsch.MAC,String)'
      Src: com.jcraft.jsch.KnownHostsTest:84,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHMACSHA1()'
      Src: com.jcraft.jsch.KnownHostsTest:85,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertSame(com.jcraft.jsch.MAC,com.jcraft.jsch.MAC,String)'
      Src: com.jcraft.jsch.KnownHostsTest:85,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHMACSHA1()'
      Src: com.jcraft.jsch.KnownHostsTest:87,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHMACSHA1()'
      Src: com.jcraft.jsch.KnownHostsTest:87,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertSame(com.jcraft.jsch.MAC,com.jcraft.jsch.MAC,String)'
      Src: com.jcraft.jsch.KnownHostsTest:87,1
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:90,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(com.jcraft.jsch.MAC,String)'
      Src: com.jcraft.jsch.KnownHostsTest:91,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotSame(com.jcraft.jsch.MAC,com.jcraft.jsch.MAC,String)'
      Src: com.jcraft.jsch.KnownHostsTest:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: '[com.jcraft.jsch.KnownHostsTest].testInstantiationValues()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].getKnownHostsRepositoryID()'
    - '[com.jcraft.jsch.KnownHosts].getKnownHostsFile()'
    - '[com.jcraft.jsch.KnownHostsTest].assertNotNull(com.jcraft.jsch.MAC,String)'
    - '[com.jcraft.jsch.KnownHosts].getHMACSHA1()'
    - '[com.jcraft.jsch.KnownHostsTest].assertSame(com.jcraft.jsch.MAC,com.jcraft.jsch.MAC,String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertNull(String,String)'
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.KnownHostsTest].assertNotSame(com.jcraft.jsch.MAC,com.jcraft.jsch.MAC,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].testInstantiationValues()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:98,1
    - Dst: '[java.io.File].createTempFile(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:115,1
    - Dst: '[java.io.FileOutputStream].<init>(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:117,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:118,1
    - Dst: fos.write(com.jcraft.jsch.KnownHostsTest)
      Src: com.jcraft.jsch.KnownHostsTest:118,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getParentFile()'
      Src: com.jcraft.jsch.KnownHostsTest:120,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:120,1
    - Dst: System.setProperty(String,com.jcraft.jsch.KnownHostsTest)
      Src: com.jcraft.jsch.KnownHostsTest:120,1
    - Dst: '[com.jcraft.jsch.KnownHosts].setKnownHosts(String)'
      Src: com.jcraft.jsch.KnownHostsTest:121,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getKnownHostsFile()'
      Src: com.jcraft.jsch.KnownHostsTest:122,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:122,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getKnownHostsRepositoryID()'
      Src: com.jcraft.jsch.KnownHostsTest:124,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:124,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:127,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:127,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:129,1
    - Dst: '[com.jcraft.jsch.KnownHosts].setKnownHosts(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:129,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:130,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getKnownHostsFile()'
      Src: com.jcraft.jsch.KnownHostsTest:130,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:130,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:132,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getKnownHostsRepositoryID()'
      Src: com.jcraft.jsch.KnownHostsTest:132,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:132,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:134,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:134,1
    - Dst: '[java.util.LinkedList<String>].removeFirst()'
      Src: com.jcraft.jsch.KnownHostsTest:135,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:135,1
    - Dst: '[java.util.LinkedList<String>].removeFirst()'
      Src: com.jcraft.jsch.KnownHostsTest:136,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:136,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getName()'
      Src: com.jcraft.jsch.KnownHostsTest:138,1
    - Dst: '[java.io.File].<init>(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:138,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:139,1
    - Dst: '[java.io.File].getPath()'
      Src: com.jcraft.jsch.KnownHostsTest:139,1
    - Dst: '[com.jcraft.jsch.Util].checkTilde(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:139,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:139,1
    - Dst: '[java.io.File].getPath()'
      Src: com.jcraft.jsch.KnownHostsTest:141,1
    - Dst: '[com.jcraft.jsch.KnownHosts].setKnownHosts(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:141,1
    - Dst: '[java.io.File].getPath()'
      Src: com.jcraft.jsch.KnownHostsTest:142,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getKnownHostsFile()'
      Src: com.jcraft.jsch.KnownHostsTest:142,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:142,1
    - Dst: '[java.io.File].getPath()'
      Src: com.jcraft.jsch.KnownHostsTest:143,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getKnownHostsRepositoryID()'
      Src: com.jcraft.jsch.KnownHostsTest:143,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:143,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:144,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:144,1
    - Dst: '[java.util.LinkedList<String>].removeFirst()'
      Src: com.jcraft.jsch.KnownHostsTest:145,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:145,1
    - Dst: '[java.util.LinkedList<String>].removeFirst()'
      Src: com.jcraft.jsch.KnownHostsTest:146,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:146,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].delete()'
      Src: com.jcraft.jsch.KnownHostsTest:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 61
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 150
    functionName: '[com.jcraft.jsch.KnownHostsTest].testSetKnownHostsByFilename()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,String,String)'
    - '[com.jcraft.jsch.Util].checkTilde(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHosts].setKnownHosts(String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
    - '[java.io.File].<init>(String,com.jcraft.jsch.KnownHostsTest)'
    - '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
    - '[java.io.FileOutputStream].<init>(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].getName()'
    - '[java.io.File].createTempFile(String,String)'
    - System.setProperty(String,com.jcraft.jsch.KnownHostsTest)
    - '[com.jcraft.jsch.KnownHosts].getKnownHostsFile()'
    - '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
    - '[java.io.File].getPath()'
    - '[com.jcraft.jsch.KnownHosts].setKnownHosts(com.jcraft.jsch.KnownHostsTest)'
    - '[java.util.LinkedList<String>].size()'
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.KnownHostsTest].delete()'
    - '[com.jcraft.jsch.KnownHosts].getKnownHostsRepositoryID()'
    - '[com.jcraft.jsch.KnownHostsTest].getParentFile()'
    - '[java.util.LinkedList<String>].removeFirst()'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
    - fos.write(com.jcraft.jsch.KnownHostsTest)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].testSetKnownHostsByFilename()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:154,1
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:155,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNull(com.jcraft.jsch.MAC,String)'
      Src: com.jcraft.jsch.KnownHostsTest:163,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:165,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:165,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:165,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:164,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:166,1
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:169,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].fail(String)'
      Src: com.jcraft.jsch.KnownHostsTest:170,1
    - Dst: iae.getMessage()
      Src: com.jcraft.jsch.KnownHostsTest:172,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:172,1
    - Dst: iae.getCause()
      Src: com.jcraft.jsch.KnownHostsTest:174,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:175,1
    - Dst: ClassNotFoundException.class.getName()
      Src: com.jcraft.jsch.KnownHostsTest:176,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getClass()'
      Src: com.jcraft.jsch.KnownHostsTest:176,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getName()'
      Src: com.jcraft.jsch.KnownHostsTest:176,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:176,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:182,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:182,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:182,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:179,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:183,1
    - Dst: HMACSHA256.class.getName()
      Src: com.jcraft.jsch.KnownHostsTest:186,1
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:186,1
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:187,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(com.jcraft.jsch.MAC,String)'
      Src: com.jcraft.jsch.KnownHostsTest:188,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHMACSHA1()'
      Src: com.jcraft.jsch.KnownHostsTest:189,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertSame(com.jcraft.jsch.MAC,com.jcraft.jsch.MAC,String)'
      Src: com.jcraft.jsch.KnownHostsTest:189,1
    - Dst: HMACSHA256.class.getName()
      Src: com.jcraft.jsch.KnownHostsTest:190,1
    - Dst: '[com.jcraft.jsch.MAC].getClass()'
      Src: com.jcraft.jsch.KnownHostsTest:190,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getName()'
      Src: com.jcraft.jsch.KnownHostsTest:190,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:190,1
    - Dst: HMACSHA512.class.getName()
      Src: com.jcraft.jsch.KnownHostsTest:194,1
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:194,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHMACSHA1()'
      Src: com.jcraft.jsch.KnownHostsTest:195,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertSame(com.jcraft.jsch.KnownHostsTest,com.jcraft.jsch.MAC,String)'
      Src: com.jcraft.jsch.KnownHostsTest:195,1
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:198,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(com.jcraft.jsch.MAC,String)'
      Src: com.jcraft.jsch.KnownHostsTest:199,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHMACSHA1()'
      Src: com.jcraft.jsch.KnownHostsTest:200,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertSame(com.jcraft.jsch.MAC,com.jcraft.jsch.MAC,String)'
      Src: com.jcraft.jsch.KnownHostsTest:200,1
    - Dst: HMACSHA512.class.getName()
      Src: com.jcraft.jsch.KnownHostsTest:201,1
    - Dst: '[com.jcraft.jsch.MAC].getClass()'
      Src: com.jcraft.jsch.KnownHostsTest:201,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getName()'
      Src: com.jcraft.jsch.KnownHostsTest:201,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:201,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:203,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:203,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:203,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 204
    functionName: '[com.jcraft.jsch.KnownHostsTest].testCreateAndGetHMACSHA1()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - ClassNotFoundException.class.getName()
    - HMACSHA512.class.getName()
    - '[com.jcraft.jsch.KnownHostsTest].assertNull(com.jcraft.jsch.MAC,String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.MAC].getClass()'
    - '[com.jcraft.jsch.KnownHostsTest].getClass()'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHostsTest].getName()'
    - iae.getMessage()
    - '[com.jcraft.jsch.KnownHostsTest].assertNotNull(com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertNotNull(com.jcraft.jsch.MAC,String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertSame(com.jcraft.jsch.KnownHostsTest,com.jcraft.jsch.MAC,String)'
    - '[java.util.stream.Collectors].joining(String)'
    - '[com.jcraft.jsch.KnownHosts].getHMACSHA1()'
    - '[com.jcraft.jsch.JSch].setConfig(String,String)'
    - '[java.util.LinkedList<String>].stream()'
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.JSch].setConfig(String,com.jcraft.jsch.KnownHostsTest)'
    - HMACSHA256.class.getName()
    - '[java.util.LinkedList<String>].clear()'
    - iae.getCause()
    - '[com.jcraft.jsch.KnownHostsTest].fail(String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertSame(com.jcraft.jsch.MAC,com.jcraft.jsch.MAC,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].testCreateAndGetHMACSHA1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:208,1
    - Dst: "(hashValue + \" \" + \"ssh-rsa \" + rsaKey + \" some comment\\r\\n\"\n
        \           + \"# 192.168.1.61 ssh-rsa MYRSAKEY some other comm\xE4nt\").getBytes(com.jcraft.jsch.KnownHostsTest)"
      Src: com.jcraft.jsch.KnownHostsTest:211,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:211,1
    - Dst: '[com.jcraft.jsch.KnownHosts].setKnownHosts(java.io.ByteArrayInputStream)'
      Src: com.jcraft.jsch.KnownHostsTest:210,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:214,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:214,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:215,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkResultForKeyResult(HostKey[],String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:216,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:218,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkResultForKeyResult(HostKey[],String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:219,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:221,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(HostKey[],String)'
      Src: com.jcraft.jsch.KnownHostsTest:222,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:223,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:224,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(HostKey[],String)'
      Src: com.jcraft.jsch.KnownHostsTest:225,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:226,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:228,1
    - Dst: '[com.jcraft.jsch.KnownHosts].dump(java.io.ByteArrayOutputStream)'
      Src: com.jcraft.jsch.KnownHostsTest:229,1
    - Dst: '[java.io.ByteArrayOutputStream].toString(String)'
      Src: com.jcraft.jsch.KnownHostsTest:233,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 206
    functionDepth: 5
    functionLinenumber: 206
    functionLinenumberEnd: 234
    functionName: '[com.jcraft.jsch.KnownHostsTest].testSetKnownHostsHashedHost()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].getHostKey()'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[com.jcraft.jsch.KnownHosts].setKnownHosts(java.io.ByteArrayInputStream)'
    - '[com.jcraft.jsch.KnownHosts].dump(java.io.ByteArrayOutputStream)'
    - '[java.io.ByteArrayInputStream].<init>(com.jcraft.jsch.KnownHostsTest)'
    - '[java.io.ByteArrayOutputStream].toString(String)'
    - "(hashValue + \" \" + \"ssh-rsa \" + rsaKey + \" some comment\\r\\n\"\n            +
      \"# 192.168.1.61 ssh-rsa MYRSAKEY some other comm\xE4nt\").getBytes(com.jcraft.jsch.KnownHostsTest)"
    - '[com.jcraft.jsch.KnownHostsTest].checkResultForKeyResult(HostKey[],String,String,String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertNotNull(HostKey[],String)'
    - '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
    - '[java.util.LinkedList<String>].size()'
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].testSetKnownHostsHashedHost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:238,1
    - Dst: ("@cert-authority " + hostLine + " " + "ssh-rsa " + rsaKey + " some comment").getBytes(com.jcraft.jsch.KnownHostsTest)
      Src: com.jcraft.jsch.KnownHostsTest:240,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:239,1
    - Dst: '[com.jcraft.jsch.KnownHosts].setKnownHosts(java.io.ByteArrayInputStream)'
      Src: com.jcraft.jsch.KnownHostsTest:239,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:243,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:243,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:244,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkResultForKeyResult(HostKey[],String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:245,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:247,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkResultForKeyResult(HostKey[],String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:248,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:249,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkResultForKeyResult(HostKey[],String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:250,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:252,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(HostKey[],String)'
      Src: com.jcraft.jsch.KnownHostsTest:253,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:254,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:255,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(HostKey[],String)'
      Src: com.jcraft.jsch.KnownHostsTest:256,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:257,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:259,1
    - Dst: '[com.jcraft.jsch.KnownHosts].dump(java.io.ByteArrayOutputStream)'
      Src: com.jcraft.jsch.KnownHostsTest:260,1
    - Dst: '[java.io.ByteArrayOutputStream].toString(String)'
      Src: com.jcraft.jsch.KnownHostsTest:262,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:261,1
    - Dst: ("!ssh.example.com,!192.168.1.61 " + "ssh-rsa " + rsaKey + " some comment").getBytes(com.jcraft.jsch.KnownHostsTest)
      Src: com.jcraft.jsch.KnownHostsTest:265,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:264,1
    - Dst: '[com.jcraft.jsch.KnownHosts].setKnownHosts(java.io.ByteArrayInputStream)'
      Src: com.jcraft.jsch.KnownHostsTest:264,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:267,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:267,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:268,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkResultForKeyResult(HostKey[],String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:269,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:271,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(HostKey[],String)'
      Src: com.jcraft.jsch.KnownHostsTest:272,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:273,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:274,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(HostKey[],String)'
      Src: com.jcraft.jsch.KnownHostsTest:275,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:276,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:278,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(HostKey[],String)'
      Src: com.jcraft.jsch.KnownHostsTest:279,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:280,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:281,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(HostKey[],String)'
      Src: com.jcraft.jsch.KnownHostsTest:282,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:283,1
    - Dst: '[java.io.ByteArrayOutputStream].reset()'
      Src: com.jcraft.jsch.KnownHostsTest:285,1
    - Dst: '[com.jcraft.jsch.KnownHosts].dump(java.io.ByteArrayOutputStream)'
      Src: com.jcraft.jsch.KnownHostsTest:286,1
    - Dst: '[java.io.ByteArrayOutputStream].toString(String)'
      Src: com.jcraft.jsch.KnownHostsTest:288,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 71
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 236
    functionDepth: 5
    functionLinenumber: 236
    functionLinenumberEnd: 289
    functionName: '[com.jcraft.jsch.KnownHostsTest].testSetKnownHostsDirectHost()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].getHostKey()'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[com.jcraft.jsch.KnownHosts].setKnownHosts(java.io.ByteArrayInputStream)'
    - '[com.jcraft.jsch.KnownHosts].dump(java.io.ByteArrayOutputStream)'
    - ("!ssh.example.com,!192.168.1.61 " + "ssh-rsa " + rsaKey + " some comment").getBytes(com.jcraft.jsch.KnownHostsTest)
    - '[java.io.ByteArrayInputStream].<init>(com.jcraft.jsch.KnownHostsTest)'
    - '[java.io.ByteArrayOutputStream].toString(String)'
    - ("@cert-authority " + hostLine + " " + "ssh-rsa " + rsaKey + " some comment").getBytes(com.jcraft.jsch.KnownHostsTest)
    - '[com.jcraft.jsch.KnownHostsTest].checkResultForKeyResult(HostKey[],String,String,String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertNotNull(HostKey[],String)'
    - '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
    - '[java.util.LinkedList<String>].size()'
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
    - '[java.io.ByteArrayOutputStream].reset()'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].testSetKnownHostsDirectHost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:293,1
    - Dst: '[java.io.File].createTempFile(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:300,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getParentFile()'
      Src: com.jcraft.jsch.KnownHostsTest:302,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:302,1
    - Dst: System.setProperty(String,com.jcraft.jsch.KnownHostsTest)
      Src: com.jcraft.jsch.KnownHostsTest:302,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getKnownHostsFile()'
      Src: com.jcraft.jsch.KnownHostsTest:303,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNull(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:303,1
    - Dst: '[com.jcraft.jsch.KnownHosts].sync()'
      Src: com.jcraft.jsch.KnownHostsTest:304,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:305,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:305,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:306,1
    - Dst: '[com.jcraft.jsch.KnownHosts].setKnownHosts(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:306,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:307,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:307,1
    - Dst: '[com.jcraft.jsch.KnownHosts].sync()'
      Src: com.jcraft.jsch.KnownHostsTest:308,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:310,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:310,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:310,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:309,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:311,1
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:313,1
    - Dst: '[com.jcraft.jsch.KnownHosts].sync(null)'
      Src: com.jcraft.jsch.KnownHostsTest:324,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:325,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:325,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:326,1
    - Dst: '[com.jcraft.jsch.KnownHosts].sync(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:326,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:328,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:328,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:328,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:327,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:329,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:330,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getContent(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:330,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:330,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].delete()'
      Src: com.jcraft.jsch.KnownHostsTest:331,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:331,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getName()'
      Src: com.jcraft.jsch.KnownHostsTest:333,1
    - Dst: '[java.io.File].<init>(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:333,1
    - Dst: '[java.io.File].getPath()'
      Src: com.jcraft.jsch.KnownHostsTest:333,1
    - Dst: '[com.jcraft.jsch.KnownHosts].sync(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:334,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:336,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:336,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:336,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:335,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:337,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:338,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getContent(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:338,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:338,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].delete()'
      Src: com.jcraft.jsch.KnownHostsTest:339,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:339,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].mkdir()'
      Src: com.jcraft.jsch.KnownHostsTest:341,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:341,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:343,1
    - Dst: '[com.jcraft.jsch.KnownHosts].sync(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:343,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].fail(String)'
      Src: com.jcraft.jsch.KnownHostsTest:344,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:348,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:348,1
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:350,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,int)'
      Src: com.jcraft.jsch.KnownHostsTest:360,1
    - Dst: '[com.jcraft.jsch.KnownHosts].add(com.jcraft.jsch.KnownHosts.HashedHostKey,null)'
      Src: com.jcraft.jsch.KnownHostsTest:360,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,int)'
      Src: com.jcraft.jsch.KnownHostsTest:361,1
    - Dst: '[com.jcraft.jsch.KnownHosts].add(com.jcraft.jsch.KnownHosts.HashedHostKey,null)'
      Src: com.jcraft.jsch.KnownHostsTest:361,1
    - Dst: '[com.jcraft.jsch.KnownHosts].dump(null)'
      Src: com.jcraft.jsch.KnownHostsTest:363,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:366,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:366,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:366,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:364,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:367,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:369,1
    - Dst: '[com.jcraft.jsch.KnownHosts].dump(java.io.ByteArrayOutputStream)'
      Src: com.jcraft.jsch.KnownHostsTest:369,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:373,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:373,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:373,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:370,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:374,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].delete()'
      Src: com.jcraft.jsch.KnownHostsTest:376,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 110
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 291
    functionDepth: 5
    functionLinenumber: 291
    functionLinenumberEnd: 378
    functionName: '[com.jcraft.jsch.KnownHostsTest].testkSyncDump()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].sync(null)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[com.jcraft.jsch.KnownHostsTest].mkdir()'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
    - '[java.io.File].<init>(String,com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHosts].dump(java.io.ByteArrayOutputStream)'
    - '[com.jcraft.jsch.KnownHostsTest].getName()'
    - '[com.jcraft.jsch.KnownHosts].sync()'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,int)'
    - '[java.io.File].createTempFile(String,String)'
    - System.setProperty(String,com.jcraft.jsch.KnownHostsTest)
    - '[com.jcraft.jsch.KnownHosts].getKnownHostsFile()'
    - '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String)'
    - '[java.util.stream.Collectors].joining(String)'
    - '[java.io.File].getPath()'
    - '[java.util.LinkedList<String>].stream()'
    - '[com.jcraft.jsch.KnownHosts].setKnownHosts(com.jcraft.jsch.KnownHostsTest)'
    - '[java.util.LinkedList<String>].size()'
    - '[com.jcraft.jsch.KnownHostsTest].assertNull(String,String)'
    - '[com.jcraft.jsch.KnownHosts].sync(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.KnownHostsTest].delete()'
    - '[com.jcraft.jsch.KnownHosts].dump(null)'
    - '[com.jcraft.jsch.KnownHostsTest].getParentFile()'
    - '[java.util.LinkedList<String>].clear()'
    - '[com.jcraft.jsch.KnownHostsTest].fail(String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHostsTest].getContent(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHosts].add(com.jcraft.jsch.KnownHosts.HashedHostKey,null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].testkSyncDump()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:382,1
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:383,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:386,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,String,int,com.jcraft.jsch.KnownHostsTest,null)'
      Src: com.jcraft.jsch.KnownHostsTest:386,1
    - Dst: '[com.jcraft.jsch.KnownHosts].dumpHostKey(java.io.ByteArrayOutputStream,com.jcraft.jsch.HostKey)'
      Src: com.jcraft.jsch.KnownHostsTest:385,1
    - Dst: '[java.io.ByteArrayOutputStream].toString(String)'
      Src: com.jcraft.jsch.KnownHostsTest:387,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:387,1
    - Dst: '[java.io.ByteArrayOutputStream].reset()'
      Src: com.jcraft.jsch.KnownHostsTest:388,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:390,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,String,int,com.jcraft.jsch.KnownHostsTest,null)'
      Src: com.jcraft.jsch.KnownHostsTest:389,1
    - Dst: '[com.jcraft.jsch.KnownHosts].dumpHostKey(java.io.ByteArrayOutputStream,com.jcraft.jsch.HostKey)'
      Src: com.jcraft.jsch.KnownHostsTest:389,1
    - Dst: '[java.io.ByteArrayOutputStream].toString(String)'
      Src: com.jcraft.jsch.KnownHostsTest:391,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:391,1
    - Dst: '[java.io.ByteArrayOutputStream].reset()'
      Src: com.jcraft.jsch.KnownHostsTest:393,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:396,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,String,int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:395,1
    - Dst: '[com.jcraft.jsch.KnownHosts].dumpHostKey(java.io.ByteArrayOutputStream,com.jcraft.jsch.HostKey)'
      Src: com.jcraft.jsch.KnownHostsTest:395,1
    - Dst: '[java.io.ByteArrayOutputStream].toString(String)'
      Src: com.jcraft.jsch.KnownHostsTest:397,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:397,1
    - Dst: '[java.io.ByteArrayOutputStream].reset()'
      Src: com.jcraft.jsch.KnownHostsTest:399,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:401,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,String,int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:400,1
    - Dst: '[com.jcraft.jsch.KnownHosts].dumpHostKey(java.io.ByteArrayOutputStream,com.jcraft.jsch.HostKey)'
      Src: com.jcraft.jsch.KnownHostsTest:400,1
    - Dst: '[java.io.ByteArrayOutputStream].toString(String)'
      Src: com.jcraft.jsch.KnownHostsTest:403,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:402,1
    - Dst: '[java.io.ByteArrayOutputStream].reset()'
      Src: com.jcraft.jsch.KnownHostsTest:404,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:407,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,String,int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:406,1
    - Dst: '[com.jcraft.jsch.KnownHosts].dumpHostKey(java.io.ByteArrayOutputStream,com.jcraft.jsch.HostKey)'
      Src: com.jcraft.jsch.KnownHostsTest:406,1
    - Dst: '[java.io.ByteArrayOutputStream].toString(String)'
      Src: com.jcraft.jsch.KnownHostsTest:408,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:408,1
    - Dst: '[java.io.ByteArrayOutputStream].reset()'
      Src: com.jcraft.jsch.KnownHostsTest:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 380
    functionDepth: 5
    functionLinenumber: 380
    functionLinenumberEnd: 410
    functionName: '[com.jcraft.jsch.KnownHostsTest].testDumpHostKey()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[com.jcraft.jsch.KnownHosts].dumpHostKey(java.io.ByteArrayOutputStream,com.jcraft.jsch.HostKey)'
    - '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
    - '[java.io.ByteArrayOutputStream].toString(String)'
    - '[com.jcraft.jsch.HostKey].<init>(String,String,int,com.jcraft.jsch.KnownHostsTest,null)'
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[java.io.ByteArrayOutputStream].reset()'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.HostKey].<init>(String,String,int,com.jcraft.jsch.KnownHostsTest,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].testDumpHostKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:414,1
    - Dst: '[com.jcraft.jsch.KnownHosts].deleteSubString(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:415,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:415,1
    - Dst: '[com.jcraft.jsch.KnownHosts].deleteSubString(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:417,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:417,1
    - Dst: '[com.jcraft.jsch.KnownHosts].deleteSubString(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:420,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:419,1
    - Dst: '[com.jcraft.jsch.KnownHosts].deleteSubString(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:421,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:421,1
    - Dst: '[com.jcraft.jsch.KnownHosts].deleteSubString(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:423,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:423,1
    - Dst: '[com.jcraft.jsch.KnownHosts].deleteSubString(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:425,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:425,1
    - Dst: '[com.jcraft.jsch.KnownHosts].deleteSubString(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:427,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:427,1
    - Dst: '[com.jcraft.jsch.KnownHosts].deleteSubString(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:428,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 412
    functionDepth: 5
    functionLinenumber: 412
    functionLinenumberEnd: 429
    functionName: '[com.jcraft.jsch.KnownHostsTest].testDeleteSubstring()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
    - '[com.jcraft.jsch.KnownHosts].deleteSubString(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].testDeleteSubstring()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[NotSoRandomRandom].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:433,1
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:434,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:438,1
    - Dst: '[com.jcraft.jsch.KnownHosts].createHashedHostKey(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:438,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].fail(String)'
      Src: com.jcraft.jsch.KnownHostsTest:439,1
    - Dst: npe.getStackTrace()[0].getMethodName()
      Src: com.jcraft.jsch.KnownHostsTest:442,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:442,1
    - Dst: '[com.jcraft.jsch.jce.HMACSHA256].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:445,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:447,1
    - Dst: '[com.jcraft.jsch.KnownHosts].createHashedHostKey(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:447,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(com.jcraft.jsch.HostKey,String)'
      Src: com.jcraft.jsch.KnownHostsTest:448,1
    - Dst: HashedHostKey.class.getName()
      Src: com.jcraft.jsch.KnownHostsTest:449,1
    - Dst: '[com.jcraft.jsch.HostKey].getClass()'
      Src: com.jcraft.jsch.KnownHostsTest:449,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getName()'
      Src: com.jcraft.jsch.KnownHostsTest:449,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:449,1
    - Dst: hhk.getHost()
      Src: com.jcraft.jsch.KnownHostsTest:455,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:453,1
    - Dst: hhk.getMarker()
      Src: com.jcraft.jsch.KnownHostsTest:456,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:456,1
    - Dst: hhk.getFingerPrint(com.jcraft.jsch.JSch)
      Src: com.jcraft.jsch.KnownHostsTest:457,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:457,1
    - Dst: hhk.getComment()
      Src: com.jcraft.jsch.KnownHostsTest:459,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(null,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:459,1
    - Dst: hhk.getKey()
      Src: com.jcraft.jsch.KnownHostsTest:460,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:460,1
    - Dst: hhk.getType()
      Src: com.jcraft.jsch.KnownHostsTest:461,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 431
    functionDepth: 5
    functionLinenumber: 431
    functionLinenumberEnd: 462
    functionName: '[com.jcraft.jsch.KnownHostsTest].testCreateHashedKey()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[NotSoRandomRandom].<init>()'
    - HashedHostKey.class.getName()
    - hhk.getType()
    - '[com.jcraft.jsch.HostKey].getClass()'
    - npe.getStackTrace()[0].getMethodName()
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,com.jcraft.jsch.KnownHostsTest,String)'
    - '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHosts].createHashedHostKey(String,com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].getName()'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(null,com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.jce.HMACSHA256].<init>()'
    - hhk.getFingerPrint(com.jcraft.jsch.JSch)
    - hhk.getMarker()
    - hhk.getHost()
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.KnownHostsTest].assertNotNull(com.jcraft.jsch.HostKey,String)'
    - hhk.getComment()
    - hhk.getKey()
    - '[com.jcraft.jsch.KnownHostsTest].fail(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].testCreateHashedKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[NotSoRandomRandom].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:466,1
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:467,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:470,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkUnhashedHostKey(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:471,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
      Src: com.jcraft.jsch.KnownHostsTest:473,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:474,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
      Src: com.jcraft.jsch.KnownHostsTest:476,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:477,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:479,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:481,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:483,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkUnhashedHostKey(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:485,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:488,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkUnhashedHostKey(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:489,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,int,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:492,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkUnhashedHostKey(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:493,1
    - Dst: '[org.bouncycastle.jce.provider.BouncyCastleProvider].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:495,1
    - Dst: '[javax.crypto.Mac].getInstance(String,org.bouncycastle.jce.provider.BouncyCastleProvider)'
      Src: com.jcraft.jsch.KnownHostsTest:495,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].<init>(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:496,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,String,int,byte[],String)'
      Src: com.jcraft.jsch.KnownHostsTest:497,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkUnhashedHostKey(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:499,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
      Src: com.jcraft.jsch.KnownHostsTest:501,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:502,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
      Src: com.jcraft.jsch.KnownHostsTest:504,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:505,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(com.jcraft.jsch.KnownHostsTest,int,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:507,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 464
    functionDepth: 5
    functionLinenumber: 464
    functionLinenumberEnd: 509
    functionName: '[com.jcraft.jsch.KnownHostsTest].testHashedKeyCreation()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Mac].getInstance(String,org.bouncycastle.jce.provider.BouncyCastleProvider)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,int,byte[])'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(com.jcraft.jsch.KnownHostsTest,int,byte[])'
    - '[NotSoRandomRandom].<init>()'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
    - '[org.bouncycastle.jce.provider.BouncyCastleProvider].<init>()'
    - '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].<init>(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String)'
    - '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,null)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,String,int,byte[],String)'
    - '[com.jcraft.jsch.KnownHostsTest].checkUnhashedHostKey(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String,null)'
    - '[com.jcraft.jsch.KnownHostsTest].checkUnhashedHostKey(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String,String)'
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].testHashedKeyCreation()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[NotSoRandomRandom].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:515,1
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:522,1
    - Dst: '[org.bouncycastle.jce.provider.BouncyCastleProvider].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:524,1
    - Dst: '[javax.crypto.Mac].getInstance(String,org.bouncycastle.jce.provider.BouncyCastleProvider)'
      Src: com.jcraft.jsch.KnownHostsTest:524,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].<init>(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:525,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,String,int,byte[],String)'
      Src: com.jcraft.jsch.KnownHostsTest:535,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkUnhashedHostKey(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:537,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:538,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:538,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].isMatched(String)'
      Src: com.jcraft.jsch.KnownHostsTest:539,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:539,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].isMatched(String)'
      Src: com.jcraft.jsch.KnownHostsTest:540,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertFalse(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:540,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
      Src: com.jcraft.jsch.KnownHostsTest:542,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:543,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:545,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:545,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:545,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:544,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:546,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].isMatched(String)'
      Src: com.jcraft.jsch.KnownHostsTest:547,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:547,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:549,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:549,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:549,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:548,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:550,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].isMatched(String)'
      Src: com.jcraft.jsch.KnownHostsTest:551,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertFalse(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:551,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:553,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:553,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:553,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:552,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:554,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
      Src: com.jcraft.jsch.KnownHostsTest:556,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:557,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:557,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,String,int,byte[],String)'
      Src: com.jcraft.jsch.KnownHostsTest:559,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMacLength()'
      Src: com.jcraft.jsch.KnownHostsTest:561,1
    - Dst: '[com.jcraft.jsch.Random].fill(com.jcraft.jsch.KnownHostsTest,int,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:562,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:563,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
      Src: com.jcraft.jsch.KnownHostsTest:564,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:565,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:567,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:567,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:567,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:566,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:568,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,String,int,byte[],String)'
      Src: com.jcraft.jsch.KnownHostsTest:570,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkUnhashedHostKey(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:573,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
      Src: com.jcraft.jsch.KnownHostsTest:574,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkUnhashedHostKey(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:575,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:579,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:579,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:579,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:576,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:580,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
      Src: com.jcraft.jsch.KnownHostsTest:583,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:584,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:585,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].isMatched(String)'
      Src: com.jcraft.jsch.KnownHostsTest:587,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertFalse(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:587,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:592,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:592,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:592,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:588,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 98
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 594
      start: 511
    functionDepth: 5
    functionLinenumber: 511
    functionLinenumberEnd: 594
    functionName: '[com.jcraft.jsch.KnownHostsTest].testHashedHostKeyHashIsMatch()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Random].fill(com.jcraft.jsch.KnownHostsTest,int,com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].<init>(com.jcraft.jsch.KnownHostsTest)'
    - '[NotSoRandomRandom].<init>()'
    - '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,String,int,byte[],String)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].isMatched(String)'
    - '[com.jcraft.jsch.KnownHostsTest].checkUnhashedHostKey(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String,String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHostsTest].getMacLength()'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,com.jcraft.jsch.KnownHostsTest)'
    - '[org.bouncycastle.jce.provider.BouncyCastleProvider].<init>()'
    - '[java.util.stream.Collectors].joining(String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertFalse(com.jcraft.jsch.KnownHostsTest,String)'
    - '[java.util.LinkedList<String>].stream()'
    - '[java.util.LinkedList<String>].size()'
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[javax.crypto.Mac].getInstance(String,org.bouncycastle.jce.provider.BouncyCastleProvider)'
    - '[java.util.LinkedList<String>].clear()'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].testHashedHostKeyHashIsMatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:599,1
    - Dst: '[java.util.LinkedList].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:614,1
    - Dst: '[com.jcraft.jsch.UserInfo].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:615,1
    - Dst: '[java.io.File].createTempFile(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:652,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].delete()'
      Src: com.jcraft.jsch.KnownHostsTest:653,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:653,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:653,1
    - Dst: '[java.io.File].<init>(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:654,1
    - Dst: '[java.io.File].getParentFile()'
      Src: com.jcraft.jsch.KnownHostsTest:655,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:655,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getKnownHostsRepositoryID()'
      Src: com.jcraft.jsch.KnownHostsTest:658,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNull(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:658,1
    - Dst: '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(null)'
      Src: com.jcraft.jsch.KnownHostsTest:659,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:660,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:660,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:662,1
    - Dst: '[com.jcraft.jsch.KnownHosts].setKnownHosts(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:662,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:663,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getKnownHostsRepositoryID()'
      Src: com.jcraft.jsch.KnownHostsTest:663,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:663,1
    - Dst: '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(null)'
      Src: com.jcraft.jsch.KnownHostsTest:665,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:666,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:666,1
    - Dst: '[java.util.LinkedList].add()'
      Src: com.jcraft.jsch.KnownHostsTest:668,1
    - Dst: '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(com.jcraft.jsch.UserInfo)'
      Src: com.jcraft.jsch.KnownHostsTest:671,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:675,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:675,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:675,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:672,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:676,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].exists()'
      Src: com.jcraft.jsch.KnownHostsTest:677,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertFalse(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:677,1
    - Dst: '[java.io.File].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:679,1
    - Dst: '[com.jcraft.jsch.KnownHosts].setKnownHosts(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:679,1
    - Dst: '[java.util.LinkedList].add()'
      Src: com.jcraft.jsch.KnownHostsTest:680,1
    - Dst: '[java.util.LinkedList].add()'
      Src: com.jcraft.jsch.KnownHostsTest:682,1
    - Dst: '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(com.jcraft.jsch.UserInfo)'
      Src: com.jcraft.jsch.KnownHostsTest:685,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:690,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:690,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:690,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:686,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:691,1
    - Dst: '[java.io.File].exists()'
      Src: com.jcraft.jsch.KnownHostsTest:692,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertFalse(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:692,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].exists()'
      Src: com.jcraft.jsch.KnownHostsTest:693,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertFalse(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:693,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].createNewFile()'
      Src: com.jcraft.jsch.KnownHostsTest:695,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:695,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:695,1
    - Dst: '[java.util.LinkedList].add()'
      Src: com.jcraft.jsch.KnownHostsTest:696,1
    - Dst: '[java.util.LinkedList].add()'
      Src: com.jcraft.jsch.KnownHostsTest:698,1
    - Dst: '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(com.jcraft.jsch.UserInfo)'
      Src: com.jcraft.jsch.KnownHostsTest:701,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:706,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:706,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:706,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:702,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:707,1
    - Dst: '[java.io.File].exists()'
      Src: com.jcraft.jsch.KnownHostsTest:708,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertFalse(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:708,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].isFile()'
      Src: com.jcraft.jsch.KnownHostsTest:709,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:709,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].delete()'
      Src: com.jcraft.jsch.KnownHostsTest:711,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:711,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:711,1
    - Dst: '[java.util.LinkedList].add()'
      Src: com.jcraft.jsch.KnownHostsTest:712,1
    - Dst: '[java.util.LinkedList].add()'
      Src: com.jcraft.jsch.KnownHostsTest:714,1
    - Dst: '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(com.jcraft.jsch.UserInfo)'
      Src: com.jcraft.jsch.KnownHostsTest:717,1
    - Dst: '[java.io.File].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:724,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:725,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:725,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:725,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:718,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:726,1
    - Dst: '[java.io.File].exists()'
      Src: com.jcraft.jsch.KnownHostsTest:727,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertFalse(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:727,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].isDirectory()'
      Src: com.jcraft.jsch.KnownHostsTest:728,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:728,1
    - Dst: '[java.io.File].createNewFile()'
      Src: com.jcraft.jsch.KnownHostsTest:730,1
    - Dst: '[java.io.File].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:730,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:730,1
    - Dst: '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(com.jcraft.jsch.UserInfo)'
      Src: com.jcraft.jsch.KnownHostsTest:731,1
    - Dst: '[java.io.File].getAbsolutePath()'
      Src: com.jcraft.jsch.KnownHostsTest:732,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:733,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:733,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:733,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:732,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:734,1
    - Dst: '[java.io.File].exists()'
      Src: com.jcraft.jsch.KnownHostsTest:735,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:735,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].isDirectory()'
      Src: com.jcraft.jsch.KnownHostsTest:736,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:736,1
    - Dst: '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(com.jcraft.jsch.UserInfo)'
      Src: com.jcraft.jsch.KnownHostsTest:739,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:744,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:744,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:744,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:740,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:745,1
    - Dst: '[java.io.File].delete()'
      Src: com.jcraft.jsch.KnownHostsTest:748,1
    - Dst: '[java.io.File].getParentFile()'
      Src: com.jcraft.jsch.KnownHostsTest:749,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].delete()'
      Src: com.jcraft.jsch.KnownHostsTest:749,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].delete()'
      Src: com.jcraft.jsch.KnownHostsTest:750,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 206
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 753
      start: 596
    functionDepth: 5
    functionLinenumber: 596
    functionLinenumberEnd: 753
    functionName: '[com.jcraft.jsch.KnownHostsTest].testSyncKnownHostsFile()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].getParentFile()'
    - '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(null)'
    - '[com.jcraft.jsch.KnownHostsTest].createNewFile()'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,String,String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest)'
    - '[java.io.File].<init>(com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.UserInfo].<init>()'
    - '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
    - '[java.io.File].createNewFile()'
    - '[java.util.LinkedList].<init>()'
    - '[java.util.LinkedList].add()'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,com.jcraft.jsch.KnownHostsTest)'
    - '[java.io.File].createTempFile(String,String)'
    - '[com.jcraft.jsch.KnownHostsTest].isFile()'
    - '[com.jcraft.jsch.KnownHostsTest].getAbsolutePath()'
    - '[java.io.File].getAbsolutePath()'
    - '[java.util.stream.Collectors].joining(String)'
    - '[java.io.File].exists()'
    - '[com.jcraft.jsch.KnownHostsTest].assertFalse(com.jcraft.jsch.KnownHostsTest,String)'
    - '[java.util.LinkedList<String>].stream()'
    - '[com.jcraft.jsch.KnownHosts].setKnownHosts(com.jcraft.jsch.KnownHostsTest)'
    - '[java.util.LinkedList<String>].size()'
    - '[com.jcraft.jsch.KnownHostsTest].assertNull(String,String)'
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.KnownHostsTest].exists()'
    - '[com.jcraft.jsch.KnownHostsTest].delete()'
    - '[com.jcraft.jsch.KnownHosts].getKnownHostsRepositoryID()'
    - '[java.util.LinkedList<String>].clear()'
    - '[com.jcraft.jsch.KnownHostsTest].isDirectory()'
    - '[java.io.File].delete()'
    - '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(com.jcraft.jsch.UserInfo)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].testSyncKnownHostsFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:757,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,int)'
      Src: com.jcraft.jsch.KnownHostsTest:760,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].fail(String)'
      Src: com.jcraft.jsch.KnownHostsTest:761,1
    - Dst: e.getMessage()
      Src: com.jcraft.jsch.KnownHostsTest:763,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(null)'
      Src: com.jcraft.jsch.KnownHostsTest:766,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
      Src: com.jcraft.jsch.KnownHostsTest:766,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:768,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:769,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:769,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:769,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:768,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(String)'
      Src: com.jcraft.jsch.KnownHostsTest:770,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
      Src: com.jcraft.jsch.KnownHostsTest:770,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:772,1
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:773,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:773,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:773,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:772,1
    - Dst: '[java.util.LinkedList<String>].removeFirst()'
      Src: com.jcraft.jsch.KnownHostsTest:777,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:774,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].addHosts(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHostsTest:779,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:780,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
      Src: com.jcraft.jsch.KnownHostsTest:780,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:782,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
      Src: com.jcraft.jsch.KnownHostsTest:782,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:784,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
      Src: com.jcraft.jsch.KnownHostsTest:784,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:786,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
      Src: com.jcraft.jsch.KnownHostsTest:786,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:788,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
      Src: com.jcraft.jsch.KnownHostsTest:788,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:790,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
      Src: com.jcraft.jsch.KnownHostsTest:790,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:792,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
      Src: com.jcraft.jsch.KnownHostsTest:792,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:796,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:796,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
      Src: com.jcraft.jsch.KnownHostsTest:795,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:798,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
      Src: com.jcraft.jsch.KnownHostsTest:798,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:801,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
      Src: com.jcraft.jsch.KnownHostsTest:801,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:803,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
      Src: com.jcraft.jsch.KnownHostsTest:803,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:805,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
      Src: com.jcraft.jsch.KnownHostsTest:805,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:808,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:808,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:808,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 809
      start: 755
    functionDepth: 5
    functionLinenumber: 755
    functionLinenumberEnd: 809
    functionName: '[com.jcraft.jsch.KnownHostsTest].testCheck()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.HostKey].<init>(String,int)'
    - '[com.jcraft.jsch.KnownHosts].check(String)'
    - '[com.jcraft.jsch.KnownHostsTest].addHosts(com.jcraft.jsch.KnownHosts)'
    - '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,com.jcraft.jsch.KnownHostsTest,String)'
    - '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(com.jcraft.jsch.KnownHostsTest,int,String)'
    - '[com.jcraft.jsch.KnownHosts].check(String,com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
    - '[com.jcraft.jsch.KnownHosts].check(null)'
    - '[java.util.stream.Collectors].joining(String)'
    - '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
    - '[java.util.LinkedList<String>].stream()'
    - '[java.util.LinkedList<String>].size()'
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[java.util.LinkedList<String>].removeFirst()'
    - e.getMessage()
    - '[com.jcraft.jsch.KnownHostsTest].fail(String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].testCheck()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[NotSoRandomRandom].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:814,1
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:815,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].addHosts(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHostsTest:827,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:829,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:830,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:834,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:831,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:836,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:837,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:839,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:840,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:841,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:841,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:844,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:845,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:846,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:846,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:848,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:849,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:851,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:850,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:853,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:854,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:855,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:855,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:857,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:858,1
    - Dst: '[java.util.LinkedList<String>].size()'
      Src: com.jcraft.jsch.KnownHostsTest:860,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:860,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:860,1
    - Dst: '[com.jcraft.jsch.KnownHosts].remove(null,null)'
      Src: com.jcraft.jsch.KnownHostsTest:862,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:863,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:864,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:864,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:865,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:865,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].addHosts(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHostsTest:867,1
    - Dst: '[com.jcraft.jsch.KnownHosts].remove(null,String)'
      Src: com.jcraft.jsch.KnownHostsTest:868,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:869,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:870,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:870,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:871,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:871,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].addHosts(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHostsTest:873,1
    - Dst: '[com.jcraft.jsch.KnownHosts].remove(String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:874,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:875,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:876,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:876,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:880,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:877,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:881,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:881,1
    - Dst: '[com.jcraft.jsch.KnownHosts].remove(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:883,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:884,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:885,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:885,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:889,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:886,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:890,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:890,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:892,1
    - Dst: '[com.jcraft.jsch.KnownHosts].remove(String,String,com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:892,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:893,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:894,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:894,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:898,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:895,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:899,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:899,1
    - Dst: '[com.jcraft.jsch.KnownHosts].remove(String,String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:901,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:902,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:903,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:903,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:905,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:904,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:906,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:906,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:908,1
    - Dst: '[com.jcraft.jsch.KnownHosts].add(com.jcraft.jsch.KnownHosts.HashedHostKey,null)'
      Src: com.jcraft.jsch.KnownHostsTest:909,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:910,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:911,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:911,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:913,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:912,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:914,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:914,1
    - Dst: '[com.jcraft.jsch.KnownHosts].remove(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:916,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:917,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:918,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:918,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:920,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:919,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:921,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:921,1
    - Dst: '[com.jcraft.jsch.KnownHosts].remove(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:923,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:924,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:925,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:925,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:927,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:926,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:928,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:928,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
      Src: com.jcraft.jsch.KnownHostsTest:930,1
    - Dst: '[com.jcraft.jsch.KnownHosts].add(com.jcraft.jsch.KnownHosts.HashedHostKey,null)'
      Src: com.jcraft.jsch.KnownHostsTest:931,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:932,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:933,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:933,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:937,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:934,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:938,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:938,1
    - Dst: '[com.jcraft.jsch.KnownHosts].remove(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:940,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:941,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:942,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:942,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:946,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:943,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:947,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:947,1
    - Dst: '[com.jcraft.jsch.KnownHosts].remove(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:949,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:950,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:951,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:951,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:953,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:952,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:954,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:954,1
    - Dst: '[com.jcraft.jsch.KnownHosts].remove(String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:957,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:958,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:959,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:959,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:960,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:960,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:961,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:961,1
    - Dst: '[com.jcraft.jsch.KnownHosts].remove(null,null)'
      Src: com.jcraft.jsch.KnownHostsTest:963,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].addHosts(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHostsTest:964,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey()'
      Src: com.jcraft.jsch.KnownHostsTest:965,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:966,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:966,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:970,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:967,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
      Src: com.jcraft.jsch.KnownHostsTest:971,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:971,1
    - Dst: '[com.jcraft.jsch.KnownHosts].remove(String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:973,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(String,null)'
      Src: com.jcraft.jsch.KnownHostsTest:974,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:975,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:975,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:976,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 218
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 978
      start: 811
    functionDepth: 5
    functionLinenumber: 811
    functionLinenumberEnd: 978
    functionName: '[com.jcraft.jsch.KnownHostsTest].testAddGetRemoveHostKeys()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[NotSoRandomRandom].<init>()'
    - '[com.jcraft.jsch.KnownHosts].remove(String,String,byte[])'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String,String)'
    - '[com.jcraft.jsch.KnownHosts].getHostKey(String,null)'
    - '[com.jcraft.jsch.KnownHosts].remove(String,String,com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].addHosts(com.jcraft.jsch.KnownHosts)'
    - '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
    - '[String].getBytes(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHosts].remove(String,String)'
    - '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
    - '[com.jcraft.jsch.KnownHosts].getHostKey()'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
    - '[com.jcraft.jsch.KnownHosts].remove(null,String)'
    - '[java.util.LinkedList<String>].size()'
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
    - '[com.jcraft.jsch.KnownHosts].remove(null,null)'
    - '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHosts].remove(String,null)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,byte[])'
    - '[com.jcraft.jsch.KnownHosts].add(com.jcraft.jsch.KnownHosts.HashedHostKey,null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].testAddGetRemoveHostKeys()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.LinkedList<String>].stream()'
      Src: com.jcraft.jsch.KnownHostsTest:982,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:982,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:982,1
    - Dst: '[java.util.LinkedList<String>].clear()'
      Src: com.jcraft.jsch.KnownHostsTest:984,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 986
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 986
    functionName: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 2
    functionsReached:
    - '[java.util.LinkedList<String>].clear()'
    - '[java.util.LinkedList<String>].stream()'
    - '[java.util.stream.Collectors].joining(String)'
    - '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:989,1
    - Dst: '[com.jcraft.jsch.KnownHosts].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.KnownHostsTest:989,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:990,1
    - Dst: '[com.jcraft.jsch.KnownHosts].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.KnownHostsTest:990,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,byte[])'
      Src: com.jcraft.jsch.KnownHostsTest:991,1
    - Dst: '[com.jcraft.jsch.KnownHosts].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.KnownHostsTest:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.KnownHosts
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kh
    argTypes:
    - com.jcraft.jsch.KnownHosts
    constantsTouched: []
    func_position:
      end: 992
      start: 988
    functionDepth: 3
    functionLinenumber: 988
    functionLinenumberEnd: 992
    functionName: '[com.jcraft.jsch.KnownHostsTest].addHosts(com.jcraft.jsch.KnownHosts)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.HostKey].<init>(String,byte[])'
    - '[com.jcraft.jsch.KnownHosts].add(com.jcraft.jsch.HostKey,null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].addHosts(com.jcraft.jsch.KnownHosts)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].stream(HostKey[])'
      Src: com.jcraft.jsch.KnownHostsTest:995,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].map()'
      Src: com.jcraft.jsch.KnownHostsTest:995,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: com.jcraft.jsch.KnownHostsTest:996,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - HostKey[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - hosts
    argTypes:
    - HostKey[]
    constantsTouched: []
    func_position:
      end: 997
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 997
    functionName: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KnownHostsTest].collect(com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHostsTest].map()'
    - '[java.util.Arrays].stream(HostKey[])'
    - '[java.util.stream.Collectors].joining(String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1000,1
    - Dst: Boolean.valueOf(boolean)
      Src: com.jcraft.jsch.KnownHostsTest:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Boolean
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - expectedMessge
    - actual
    - ret
    argTypes:
    - String
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 1002
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1002
    functionName: '[com.jcraft.jsch.KnownHostsTest].checkMessageAndReturn(String,String,boolean)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
    - Boolean.valueOf(boolean)
    linkageType: ''
    returnType: Boolean
    signature: '[com.jcraft.jsch.KnownHostsTest].checkMessageAndReturn(String,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].getHost()'
      Src: com.jcraft.jsch.KnownHostsTest:1006,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1006,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].getMarker()'
      Src: com.jcraft.jsch.KnownHostsTest:1007,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1007,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].getFingerPrint(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:1008,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1008,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].getComment()'
      Src: com.jcraft.jsch.KnownHostsTest:1010,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1010,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].getKey()'
      Src: com.jcraft.jsch.KnownHostsTest:1011,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1011,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].getType()'
      Src: com.jcraft.jsch.KnownHostsTest:1012,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1012,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].isHashed()'
      Src: com.jcraft.jsch.KnownHostsTest:1013,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertFalse(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1013,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNull(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1014,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNull(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.KnownHosts.HashedHostKey
      - String
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - hhk
    - expectedMarker
    - expctedHost
    - expectedType
    - expectedComment
    argTypes:
    - com.jcraft.jsch.KnownHosts.HashedHostKey
    - String
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 1016
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1016
    functionName: '[com.jcraft.jsch.KnownHostsTest].checkUnhashedHostKey(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].getComment()'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].getHost()'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].isHashed()'
    - '[com.jcraft.jsch.KnownHostsTest].assertNull(com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].getMarker()'
    - '[com.jcraft.jsch.KnownHostsTest].assertFalse(com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].getFingerPrint(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].getType()'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].getKey()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].checkUnhashedHostKey(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].getHost()'
      Src: com.jcraft.jsch.KnownHostsTest:1020,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1020,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].getMarker()'
      Src: com.jcraft.jsch.KnownHostsTest:1022,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1022,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].getFingerPrint(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KnownHostsTest:1023,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1023,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].getComment()'
      Src: com.jcraft.jsch.KnownHostsTest:1025,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1025,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].getKey()'
      Src: com.jcraft.jsch.KnownHostsTest:1026,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1026,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].getType()'
      Src: com.jcraft.jsch.KnownHostsTest:1027,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1027,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].isHashed()'
      Src: com.jcraft.jsch.KnownHostsTest:1028,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1028,1
    - Dst: '[com.jcraft.jsch.Util].toBase64(com.jcraft.jsch.KnownHostsTest,int,com.jcraft.jsch.KnownHostsTest,boolean)'
      Src: com.jcraft.jsch.KnownHostsTest:1030,1
    - Dst: '[String].<init>(byte[],com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:1030,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1029,1
    - Dst: '[com.jcraft.jsch.Util].toBase64(com.jcraft.jsch.KnownHostsTest,int,com.jcraft.jsch.KnownHostsTest,boolean)'
      Src: com.jcraft.jsch.KnownHostsTest:1033,1
    - Dst: '[String].<init>(byte[],com.jcraft.jsch.KnownHostsTest)'
      Src: com.jcraft.jsch.KnownHostsTest:1033,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.KnownHosts.HashedHostKey
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - hhk
    - expectedMarker
    - expectedType
    - expectedComment
    argTypes:
    - com.jcraft.jsch.KnownHosts.HashedHostKey
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 1035
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1035
    functionName: '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 2
    functionsReached:
    - '[String].<init>(byte[],com.jcraft.jsch.KnownHostsTest)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].getComment()'
    - '[com.jcraft.jsch.KnownHostsTest].assertTrue(com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,String,String)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].getHost()'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].isHashed()'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].getMarker()'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].getFingerPrint(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Util].toBase64(com.jcraft.jsch.KnownHostsTest,int,com.jcraft.jsch.KnownHostsTest,boolean)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].getType()'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].getKey()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.FileInputStream].<init>(String)'
      Src: com.jcraft.jsch.KnownHostsTest:1038,1
    - Dst: '[StringBuilder].<init>()'
      Src: com.jcraft.jsch.KnownHostsTest:1039,1
    - Dst: fis.read()
      Src: com.jcraft.jsch.KnownHostsTest:1041,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.KnownHostsTest:1042,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.KnownHostsTest:1044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filename
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1046
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1046
    functionName: '[com.jcraft.jsch.KnownHostsTest].getContent(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(char)'
    - '[java.io.FileInputStream].<init>(String)'
    - '[StringBuilder].toString()'
    - fis.read()
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KnownHostsTest].getContent(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertNotNull(HostKey[],String)'
      Src: com.jcraft.jsch.KnownHostsTest:1050,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1051,1
    - Dst: key.getComment()
      Src: com.jcraft.jsch.KnownHostsTest:1053,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1053,1
    - Dst: key.getFingerPrint(com.jcraft.jsch.JSch)
      Src: com.jcraft.jsch.KnownHostsTest:1054,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1054,1
    - Dst: key.getHost()
      Src: com.jcraft.jsch.KnownHostsTest:1056,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1056,1
    - Dst: key.getKey()
      Src: com.jcraft.jsch.KnownHostsTest:1057,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1057,1
    - Dst: key.getMarker()
      Src: com.jcraft.jsch.KnownHostsTest:1058,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1058,1
    - Dst: key.getType()
      Src: com.jcraft.jsch.KnownHostsTest:1059,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
      Src: com.jcraft.jsch.KnownHostsTest:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - HostKey[]
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - keys
    - rsaKey
    - expectedHostResult
    - expectedMarker
    argTypes:
    - HostKey[]
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 1060
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1060
    functionName: '[com.jcraft.jsch.KnownHostsTest].checkResultForKeyResult(HostKey[],String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 2
    functionsReached:
    - key.getKey()
    - key.getHost()
    - key.getFingerPrint(com.jcraft.jsch.JSch)
    - key.getType()
    - '[com.jcraft.jsch.KnownHostsTest].assertNotNull(HostKey[],String)'
    - key.getComment()
    - key.getMarker()
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(int,com.jcraft.jsch.KnownHostsTest,String)'
    - '[com.jcraft.jsch.KnownHostsTest].assertEquals(String,com.jcraft.jsch.KnownHostsTest,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest].checkResultForKeyResult(HostKey[],String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KnownHostsTest:53,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KnownHostsTest:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - byte[]
      - byte[]
      - java.util.LinkedList<String>
      - com.jcraft.jsch.JSch
      - java.util.Hashtable<String,String>
      - java.util.Properties
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KnownHostsTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KnownHostsTest].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.KnownHostsTest
    signature: '[com.jcraft.jsch.KnownHostsTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.crypto.Mac
      classConcrete: true
      classEnum: false
      classFields:
      - Mac
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MAC
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KnownHostsTest.BCHMACSHA1
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mac
    argTypes:
    - javax.crypto.Mac
    constantsTouched: []
    func_position:
      end: 1067
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1067
    functionName: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].<init>(javax.crypto.Mac)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KnownHostsTest.BCHMACSHA1
    signature: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].<init>(javax.crypto.Mac)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Mac].update(byte)'
      Src: com.jcraft.jsch.KnownHostsTest.BCHMACSHA1:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Mac
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].update(int)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[Mac].update(byte)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].update(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Mac].update(byte[],int,int)'
      Src: com.jcraft.jsch.KnownHostsTest.BCHMACSHA1:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Mac
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1077
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1077
    functionName: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].update(byte[],int,int)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[Mac].update(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].update(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.spec.SecretKeySpec].<init>(byte[],String)'
      Src: com.jcraft.jsch.KnownHostsTest.BCHMACSHA1:1081,1
    - Dst: '[Mac].init(javax.crypto.spec.SecretKeySpec)'
      Src: com.jcraft.jsch.KnownHostsTest.BCHMACSHA1:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - Mac
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 1083
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1083
    functionName: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].init(byte[])'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.spec.SecretKeySpec].<init>(byte[],String)'
    - '[Mac].init(javax.crypto.spec.SecretKeySpec)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].init(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Mac].getAlgorithm()'
      Src: com.jcraft.jsch.KnownHostsTest.BCHMACSHA1:1087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Mac
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1088
    functionName: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].getName()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[Mac].getAlgorithm()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Mac].getMacLength()'
      Src: com.jcraft.jsch.KnownHostsTest.BCHMACSHA1:1092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Mac
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1093
    functionName: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].getBlockSize()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[Mac].getMacLength()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Mac].doFinal(byte[],int)'
      Src: com.jcraft.jsch.KnownHostsTest.BCHMACSHA1:1098,1
    - Dst: '[RuntimeException].<init>(String,com.jcraft.jsch.KnownHostsTest.BCHMACSHA1)'
      Src: com.jcraft.jsch.KnownHostsTest.BCHMACSHA1:1100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Mac
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - offset
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 1102
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1102
    functionName: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].doFinal(byte[],int)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[Mac].doFinal(byte[],int)'
    - '[RuntimeException].<init>(String,com.jcraft.jsch.KnownHostsTest.BCHMACSHA1)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].doFinal(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.jce.Random
    argCount: 3
    argNames:
    - foo
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1111
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1111
    functionName: '[com.jcraft.jsch.KnownHostsTest.NotSoRandomRandom].fill(byte[],int,int)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest.NotSoRandomRandom].fill(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KnownHostsTest.NotSoRandomRandom
      static: false
      superClass: com.jcraft.jsch.jce.Random
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KnownHostsTest.NotSoRandomRandom].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KnownHostsTest.NotSoRandomRandom
    signature: '[com.jcraft.jsch.KnownHostsTest.NotSoRandomRandom].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.LinkedList<String>
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedList<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Logger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KnownHostsTest.TestLogger
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - messages
    argTypes:
    - java.util.LinkedList<String>
    constantsTouched: []
    func_position:
      end: 1119
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1119
    functionName: '[com.jcraft.jsch.KnownHostsTest.TestLogger].<init>(java.util.LinkedList<String>)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KnownHostsTest.TestLogger
    signature: '[com.jcraft.jsch.KnownHostsTest.TestLogger].<init>(java.util.LinkedList<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[LinkedList<String>].add(com.jcraft.jsch.KnownHostsTest.TestLogger)'
      Src: com.jcraft.jsch.KnownHostsTest.TestLogger:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedList<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - message
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 1124
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1124
    functionName: '[com.jcraft.jsch.KnownHostsTest.TestLogger].log(int,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[LinkedList<String>].add(com.jcraft.jsch.KnownHostsTest.TestLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest.TestLogger].log(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].getClass()'
      Src: com.jcraft.jsch.KnownHostsTest.TestLogger:1129,1
    - Dst: '[com.jcraft.jsch.KnownHostsTest.TestLogger].getName()'
      Src: com.jcraft.jsch.KnownHostsTest.TestLogger:1129,1
    - Dst: '[Throwable].getMessage()'
      Src: com.jcraft.jsch.KnownHostsTest.TestLogger:1129,1
    - Dst: '[LinkedList<String>].add(com.jcraft.jsch.KnownHostsTest.TestLogger)'
      Src: com.jcraft.jsch.KnownHostsTest.TestLogger:1131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedList<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - level
    - message
    - cause
    argTypes:
    - int
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 1132
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1132
    functionName: '[com.jcraft.jsch.KnownHostsTest.TestLogger].log(int,String,Throwable)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached:
    - '[LinkedList<String>].add(com.jcraft.jsch.KnownHostsTest.TestLogger)'
    - '[com.jcraft.jsch.KnownHostsTest.TestLogger].getName()'
    - '[Throwable].getClass()'
    - '[Throwable].getMessage()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHostsTest.TestLogger].log(int,String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedList<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1137
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1137
    functionName: '[com.jcraft.jsch.KnownHostsTest.TestLogger].isEnabled(int)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KnownHostsTest.TestLogger].isEnabled(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].<init>()'
      Src: com.jcraft.jsch.Algorithms4IT:70,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
      Src: com.jcraft.jsch.Algorithms4IT:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.Algorithms4IT].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Slf4jLogger].<init>()'
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms4IT].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
      Src: com.jcraft.jsch.Algorithms4IT:76,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
      Src: com.jcraft.jsch.Algorithms4IT:77,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.Algorithms4IT:80,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.Algorithms4IT:81,1
    - Dst: '[java.nio.file.Files].createFile(com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:82,1
    - Dst: '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:83,1
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.Algorithms4IT:86,1
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:86,1
    - Dst: os.write(com.jcraft.jsch.Algorithms4IT)
      Src: com.jcraft.jsch.Algorithms4IT:87,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:90,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Algorithms4IT:92,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Algorithms4IT:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: '[com.jcraft.jsch.Algorithms4IT].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.Algorithms4IT)'
    - '[java.nio.file.Path].resolve(String)'
    - '[java.util.Random].nextBytes(com.jcraft.jsch.Algorithms4IT)'
    - os.write(com.jcraft.jsch.Algorithms4IT)
    - '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
    - '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    - '[java.nio.file.Files].createFile(com.jcraft.jsch.Algorithms4IT)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.Algorithms4IT)'
    - '[java.util.Random].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms4IT].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.Algorithms4IT:98,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Algorithms4IT:99,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Algorithms4IT:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: '[com.jcraft.jsch.Algorithms4IT].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms4IT].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms4IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms4IT:108,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms4IT:109,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:110,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:111,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:112,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms4IT:113,1
    - Dst: String.format(com.jcraft.jsch.Algorithms4IT,String,String)
      Src: com.jcraft.jsch.Algorithms4IT:115,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].checkLogs(com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kex
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 8
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: '[com.jcraft.jsch.Algorithms4IT].testJava11KEXs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms4IT].checkLogs(com.jcraft.jsch.Algorithms4IT)'
    - String.format(com.jcraft.jsch.Algorithms4IT,String,String)
    - '[com.jcraft.jsch.Algorithms4IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms4IT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Algorithms4IT].doSftp(com.jcraft.jsch.Session,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms4IT].testJava11KEXs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms4IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms4IT:123,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms4IT:124,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:125,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:126,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:127,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms4IT:128,1
    - Dst: String.format(com.jcraft.jsch.Algorithms4IT,String,String)
      Src: com.jcraft.jsch.Algorithms4IT:130,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].checkLogs(com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kex
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 8
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: '[com.jcraft.jsch.Algorithms4IT].testJava24KEXs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms4IT].checkLogs(com.jcraft.jsch.Algorithms4IT)'
    - String.format(com.jcraft.jsch.Algorithms4IT,String,String)
    - '[com.jcraft.jsch.Algorithms4IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms4IT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Algorithms4IT].doSftp(com.jcraft.jsch.Session,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms4IT].testJava24KEXs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms4IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms4IT:138,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms4IT:139,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:140,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:141,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:142,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms4IT:143,1
    - Dst: String.format(com.jcraft.jsch.Algorithms4IT,String,String)
      Src: com.jcraft.jsch.Algorithms4IT:145,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].checkLogs(com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kex
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 8
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: '[com.jcraft.jsch.Algorithms4IT].testBCKEXs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms4IT].checkLogs(com.jcraft.jsch.Algorithms4IT)'
    - String.format(com.jcraft.jsch.Algorithms4IT,String,String)
    - '[com.jcraft.jsch.Algorithms4IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms4IT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Algorithms4IT].doSftp(com.jcraft.jsch.Session,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms4IT].testBCKEXs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms4IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms4IT:153,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms4IT:154,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:155,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:156,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:157,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms4IT:158,1
    - Dst: String.format(com.jcraft.jsch.Algorithms4IT,String,String)
      Src: com.jcraft.jsch.Algorithms4IT:160,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].checkLogs(com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kex
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 8
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: '[com.jcraft.jsch.Algorithms4IT].testJava24BCKEXs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms4IT].checkLogs(com.jcraft.jsch.Algorithms4IT)'
    - String.format(com.jcraft.jsch.Algorithms4IT,String,String)
    - '[com.jcraft.jsch.Algorithms4IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms4IT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Algorithms4IT].doSftp(com.jcraft.jsch.Session,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms4IT].testJava24BCKEXs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms4IT].getResourceFile(String)'
      Src: com.jcraft.jsch.Algorithms4IT:165,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].readHostKey(String)'
      Src: com.jcraft.jsch.Algorithms4IT:165,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.Algorithms4IT:166,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].getResourceFile(String)'
      Src: com.jcraft.jsch.Algorithms4IT:167,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].getResourceFile(String)'
      Src: com.jcraft.jsch.Algorithms4IT:167,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.Algorithms4IT:167,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.Algorithms4IT:168,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.Algorithms4IT:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: '[com.jcraft.jsch.Algorithms4IT].createRSAIdentity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.Algorithms4IT].readHostKey(String)'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.Algorithms4IT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.Algorithms4IT].createRSAIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.Algorithms4IT:173,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.Algorithms4IT,com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:173,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].get(int)'
      Src: com.jcraft.jsch.Algorithms4IT:174,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].split(String)'
      Src: com.jcraft.jsch.Algorithms4IT:174,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.Algorithms4IT:176,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.Algorithms4IT:176,1
    - Dst: String.format(com.jcraft.jsch.Algorithms4IT,String,com.jcraft.jsch.Algorithms4IT,com.jcraft.jsch.Algorithms4IT)
      Src: com.jcraft.jsch.Algorithms4IT:176,1
    - Dst: '[java.util.Base64].getDecoder()'
      Src: com.jcraft.jsch.Algorithms4IT:177,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].decode()'
      Src: com.jcraft.jsch.Algorithms4IT:177,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.Algorithms4IT,com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: '[com.jcraft.jsch.Algorithms4IT].readHostKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 1
    functionsReached:
    - String.format(com.jcraft.jsch.Algorithms4IT,String,com.jcraft.jsch.Algorithms4IT,com.jcraft.jsch.Algorithms4IT)
    - '[java.nio.file.Paths].get(String)'
    - '[com.jcraft.jsch.Algorithms4IT].get(int)'
    - '[com.jcraft.jsch.Algorithms4IT].split(String)'
    - '[com.jcraft.jsch.Algorithms4IT].decode()'
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.Algorithms4IT,com.jcraft.jsch.Algorithms4IT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.Algorithms4IT,com.jcraft.jsch.Algorithms4IT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[java.util.Base64].getDecoder()'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.Algorithms4IT].readHostKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.Algorithms4IT:181,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.Algorithms4IT:181,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.Algorithms4IT,com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:181,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:182,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: '[com.jcraft.jsch.Algorithms4IT].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.Algorithms4IT,com.jcraft.jsch.Algorithms4IT)'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.Algorithms4IT].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.Algorithms4IT:189,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: com.jcraft.jsch.Algorithms4IT:190,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: com.jcraft.jsch.Algorithms4IT:191,1
    - Dst: sftp.connect(int)
      Src: com.jcraft.jsch.Algorithms4IT:192,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.Algorithms4IT:193,1
    - Dst: sftp.put(com.jcraft.jsch.Algorithms4IT,String)
      Src: com.jcraft.jsch.Algorithms4IT:193,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.Algorithms4IT:194,1
    - Dst: sftp.get(String,com.jcraft.jsch.Algorithms4IT)
      Src: com.jcraft.jsch.Algorithms4IT:194,1
    - Dst: sftp.disconnect()
      Src: com.jcraft.jsch.Algorithms4IT:195,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.Algorithms4IT:196,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].printInfo()'
      Src: com.jcraft.jsch.Algorithms4IT:199,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: com.jcraft.jsch.Algorithms4IT:204,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].assertEquals(int,int,com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:204,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
      Src: com.jcraft.jsch.Algorithms4IT:205,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].assertEquals(String,com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - debugException
    argTypes:
    - com.jcraft.jsch.Session
    - boolean
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 7
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: '[com.jcraft.jsch.Algorithms4IT].doSftp(com.jcraft.jsch.Session,boolean)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.Algorithms4IT].printInfo()'
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - sftp.put(com.jcraft.jsch.Algorithms4IT,String)
    - '[com.jcraft.jsch.Algorithms4IT].assertEquals(int,int,com.jcraft.jsch.Algorithms4IT)'
    - '[com.jcraft.jsch.Algorithms4IT].assertEquals(String,com.jcraft.jsch.Algorithms4IT)'
    - '[com.jcraft.jsch.Session].connect()'
    - sftp.get(String,com.jcraft.jsch.Algorithms4IT)
    - sftp.disconnect()
    - '[java.nio.file.Path].toString()'
    - sftp.connect(int)
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms4IT].doSftp(com.jcraft.jsch.Session,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.Algorithms4IT:209,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].stream()'
      Src: com.jcraft.jsch.Algorithms4IT:209,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].map()'
      Src: com.jcraft.jsch.Algorithms4IT:209,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].forEach()'
      Src: com.jcraft.jsch.Algorithms4IT:209,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.Algorithms4IT:211,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].stream()'
      Src: com.jcraft.jsch.Algorithms4IT:211,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].map()'
      Src: com.jcraft.jsch.Algorithms4IT:211,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].forEach()'
      Src: com.jcraft.jsch.Algorithms4IT:211,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.Algorithms4IT:213,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.Algorithms4IT:214,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.Algorithms4IT:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: '[com.jcraft.jsch.Algorithms4IT].printInfo()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Algorithms4IT].map()'
    - '[com.jcraft.jsch.Algorithms4IT].forEach()'
    - '[com.jcraft.jsch.Algorithms4IT].stream()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms4IT].printInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.Algorithms4IT:219,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].stream()'
      Src: com.jcraft.jsch.Algorithms4IT:219,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].map()'
      Src: com.jcraft.jsch.Algorithms4IT:219,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].filter()'
      Src: com.jcraft.jsch.Algorithms4IT:219,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].findFirst()'
      Src: com.jcraft.jsch.Algorithms4IT:219,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].isPresent()'
      Src: com.jcraft.jsch.Algorithms4IT:229,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].assertTrue(com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:229,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].printInfo()'
      Src: com.jcraft.jsch.Algorithms4IT:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - expected
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 235
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 235
    functionName: '[com.jcraft.jsch.Algorithms4IT].checkLogs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms4IT].printInfo()'
    - '[com.jcraft.jsch.Algorithms4IT].findFirst()'
    - '[com.jcraft.jsch.Algorithms4IT].stream()'
    - '[com.jcraft.jsch.Algorithms4IT].assertTrue(com.jcraft.jsch.Algorithms4IT)'
    - '[com.jcraft.jsch.Algorithms4IT].filter()'
    - '[com.jcraft.jsch.Algorithms4IT].isPresent()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - '[com.jcraft.jsch.Algorithms4IT].map()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms4IT].checkLogs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms4IT].getClass()'
      Src: com.jcraft.jsch.Algorithms4IT:238,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.Algorithms4IT,String)'
      Src: com.jcraft.jsch.Algorithms4IT:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: '[com.jcraft.jsch.Algorithms4IT].getResourceFile(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.Algorithms4IT,String)'
    - '[com.jcraft.jsch.Algorithms4IT].getClass()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Algorithms4IT].getResourceFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
      Src: com.jcraft.jsch.Algorithms4IT:40,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:40,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.Algorithms4IT:41,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.Algorithms4IT:42,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.Algorithms4IT:53,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:53,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:53,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:53,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:53,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:53,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:53,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:53,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:53,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:53,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:53,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:53,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:53,1
    - Dst: '[com.jcraft.jsch.Algorithms4IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms4IT:53,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.Algorithms4IT)'
      Src: com.jcraft.jsch.Algorithms4IT:52,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.Algorithms4IT:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Algorithms4IT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Algorithms4IT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
    functionUses: 0
    functionsReached:
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.Algorithms4IT)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.Algorithms4IT)'
    - '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
    - '[com.jcraft.jsch.Algorithms4IT].withFileFromClasspath(String,String)'
    - '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
    linkageType: ''
    returnType: com.jcraft.jsch.Algorithms4IT
    signature: '[com.jcraft.jsch.Algorithms4IT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPair2Test:25,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPair2Test:26,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPair2Test:27,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPair2Test:28,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPair2Test:30,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPair2Test:31,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPair2Test:32,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPair2Test:33,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPair2Test:35,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPair2Test:36,1
    - Dst: '[java.util.stream.Stream].of(com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test)'
      Src: com.jcraft.jsch.KeyPair2Test:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.stream.Stream<org.junit.jupiter.params.provider.Arguments>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.KeyPair2Test].keyArgs()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2Test.java
    functionUses: 0
    functionsReached:
    - '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
    - '[java.util.stream.Stream].of(com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test,com.jcraft.jsch.KeyPair2Test)'
    - '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
    linkageType: ''
    returnType: java.util.stream.Stream<org.junit.jupiter.params.provider.Arguments>
    signature: '[com.jcraft.jsch.KeyPair2Test].keyArgs()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KeyPair2Test:43,1
    - Dst: ClassLoader.getSystemResource(String)
      Src: com.jcraft.jsch.KeyPair2Test:45,1
    - Dst: '[com.jcraft.jsch.KeyPair2Test].toURI()'
      Src: com.jcraft.jsch.KeyPair2Test:45,1
    - Dst: '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPair2Test)'
      Src: com.jcraft.jsch.KeyPair2Test:45,1
    - Dst: '[com.jcraft.jsch.KeyPair2Test].toFile()'
      Src: com.jcraft.jsch.KeyPair2Test:45,1
    - Dst: '[com.jcraft.jsch.KeyPair2Test].getAbsolutePath()'
      Src: com.jcraft.jsch.KeyPair2Test:45,1
    - Dst: '[java.io.File].<init>(com.jcraft.jsch.KeyPair2Test)'
      Src: com.jcraft.jsch.KeyPair2Test:46,1
    - Dst: '[java.io.File].exists()'
      Src: com.jcraft.jsch.KeyPair2Test:46,1
    - Dst: '[com.jcraft.jsch.KeyPair2Test].assertTrue(com.jcraft.jsch.KeyPair2Test)'
      Src: com.jcraft.jsch.KeyPair2Test:46,1
    - Dst: '[com.jcraft.jsch.KeyPair2Test].assertDoesNotThrow()'
      Src: com.jcraft.jsch.KeyPair2Test:47,1
    - Dst: '[com.jcraft.jsch.JSch].getIdentityRepository()'
      Src: com.jcraft.jsch.KeyPair2Test:54,1
    - Dst: '[com.jcraft.jsch.IdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.KeyPair2Test:54,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].get(int)'
      Src: com.jcraft.jsch.KeyPair2Test:54,1
    - Dst: '[com.jcraft.jsch.KeyPair2Test].getAlgName()'
      Src: com.jcraft.jsch.KeyPair2Test:54,1
    - Dst: '[com.jcraft.jsch.KeyPair2Test].assertEquals(String,com.jcraft.jsch.KeyPair2Test)'
      Src: com.jcraft.jsch.KeyPair2Test:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      classPublic: false
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - path
    - password
    - keyType
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: '[com.jcraft.jsch.KeyPair2Test].loadKey(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2Test.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].<init>(com.jcraft.jsch.KeyPair2Test)'
    - '[com.jcraft.jsch.KeyPair2Test].toURI()'
    - '[com.jcraft.jsch.KeyPair2Test].assertTrue(com.jcraft.jsch.KeyPair2Test)'
    - '[com.jcraft.jsch.KeyPair2Test].getAlgName()'
    - '[com.jcraft.jsch.KeyPair2Test].assertEquals(String,com.jcraft.jsch.KeyPair2Test)'
    - '[com.jcraft.jsch.KeyPair2Test].getAbsolutePath()'
    - '[java.io.File].exists()'
    - '[com.jcraft.jsch.KeyPair2Test].toFile()'
    - '[com.jcraft.jsch.KeyPair2Test].assertDoesNotThrow()'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].get(int)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPair2Test)'
    - '[com.jcraft.jsch.JSch].getIdentityRepository()'
    - ClassLoader.getSystemResource(String)
    - '[com.jcraft.jsch.IdentityRepository].getIdentities()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair2Test].loadKey(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyPair2Test
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KeyPair2Test].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2Test.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair2Test
    signature: '[com.jcraft.jsch.KeyPair2Test].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.logging.log4j.core.test.appender.ListAppender
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      - org.apache.logging.log4j.core.test.appender.ListAppender
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Log4j2LoggerTest
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - appender
    argTypes:
    - org.apache.logging.log4j.core.test.appender.ListAppender
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.Log4j2LoggerTest].<init>(org.apache.logging.log4j.core.test.appender.ListAppender)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Log4j2LoggerTest.java
    functionUses: 0
    functionsReached:
    - '[Exception].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.Log4j2LoggerTest
    signature: '[com.jcraft.jsch.Log4j2LoggerTest].<init>(org.apache.logging.log4j.core.test.appender.ListAppender)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.logging.log4j.core.test.appender.ListAppender].clear()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      - org.apache.logging.log4j.core.test.appender.ListAppender
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.Log4j2LoggerTest].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Log4j2LoggerTest.java
    functionUses: 0
    functionsReached:
    - '[org.apache.logging.log4j.core.test.appender.ListAppender].clear()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Log4j2LoggerTest].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Log4j2Logger].getLevel()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:39,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertEquals(com.jcraft.jsch.Log4j2LoggerTest,org.apache.logging.log4j.Level)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:39,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].getLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:41,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertEquals(com.jcraft.jsch.Log4j2LoggerTest,org.apache.logging.log4j.Level)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:41,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].getLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:42,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertEquals(com.jcraft.jsch.Log4j2LoggerTest,org.apache.logging.log4j.Level)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:42,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].getLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:43,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertEquals(com.jcraft.jsch.Log4j2LoggerTest,org.apache.logging.log4j.Level)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:43,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].getLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:44,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertEquals(com.jcraft.jsch.Log4j2LoggerTest,org.apache.logging.log4j.Level)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:44,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].getLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:45,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertEquals(com.jcraft.jsch.Log4j2LoggerTest,org.apache.logging.log4j.Level)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:45,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].getLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:47,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertEquals(com.jcraft.jsch.Log4j2LoggerTest,org.apache.logging.log4j.Level)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      - org.apache.logging.log4j.core.test.appender.ListAppender
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.Log4j2LoggerTest].testGetLevel()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Log4j2LoggerTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Log4j2Logger].getLevel()'
    - '[com.jcraft.jsch.Log4j2Logger].getLevel(com.jcraft.jsch.Log4j2LoggerTest)'
    - '[com.jcraft.jsch.Log4j2LoggerTest].assertEquals(com.jcraft.jsch.Log4j2LoggerTest,org.apache.logging.log4j.Level)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Log4j2LoggerTest].testGetLevel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Log4j2Logger].<init>()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:52,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:54,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:55,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:55,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:56,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:56,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:57,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:57,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:58,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:58,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:59,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:59,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:60,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:60,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:62,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:63,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:63,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:64,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:64,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:65,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:65,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:66,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:66,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:67,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:67,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:68,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:68,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:70,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:71,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:71,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:72,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:72,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:73,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:73,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:74,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:74,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:75,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:75,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:76,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:76,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:78,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:79,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:79,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:80,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:80,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:81,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:81,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:82,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:82,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:83,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:83,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:84,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:84,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:86,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:87,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:87,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:88,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:88,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:89,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:89,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:90,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:90,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:91,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:91,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:92,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:92,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:94,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:95,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:95,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:96,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:96,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:97,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:97,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:98,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:98,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:99,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:99,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:100,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:100,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:102,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:103,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:103,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:104,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:104,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:105,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:105,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:106,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:106,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:107,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:107,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:108,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:108,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:110,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:111,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:111,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:112,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:112,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:113,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:113,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:114,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:114,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:115,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:115,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].isEnabled()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:116,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 113
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      - org.apache.logging.log4j.core.test.appender.ListAppender
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 117
    functionName: '[com.jcraft.jsch.Log4j2LoggerTest].testIsEnabled()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Log4j2LoggerTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Log4j2Logger].isEnabled(com.jcraft.jsch.Log4j2LoggerTest)'
    - '[com.jcraft.jsch.Log4j2Logger].isEnabled()'
    - '[com.jcraft.jsch.Log4j2LoggerTest].assertTrue(boolean,String)'
    - '[com.jcraft.jsch.Log4j2Logger].<init>()'
    - '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(com.jcraft.jsch.Log4j2LoggerTest)'
    - '[com.jcraft.jsch.Log4j2LoggerTest].assertFalse(boolean,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Log4j2LoggerTest].testIsEnabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Log4j2Logger].<init>()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:121,1
    - Dst: '[java.util.Arrays].asList(String,String,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:124,1
    - Dst: '[java.util.Optional].empty()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:126,1
    - Dst: '[java.util.Optional].ofNullable(null)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:126,1
    - Dst: '[java.util.Optional].of(Exception)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:126,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.Log4j2LoggerTest,com.jcraft.jsch.Log4j2LoggerTest,com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:126,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:128,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].log(String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:129,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].log(String,null)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:130,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].log(String,Exception)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:131,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].checkMessages(com.jcraft.jsch.Log4j2LoggerTest,com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:132,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:134,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].log(com.jcraft.jsch.Log4j2LoggerTest,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:135,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].log(com.jcraft.jsch.Log4j2LoggerTest,String,null)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:136,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].log(com.jcraft.jsch.Log4j2LoggerTest,String,Exception)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:137,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].checkMessages(com.jcraft.jsch.Log4j2LoggerTest,com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:138,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:140,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].log(String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:141,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].log(String,null)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:142,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].log(String,Exception)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:143,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:144,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:144,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].checkMessages(com.jcraft.jsch.Log4j2LoggerTest,com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:144,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:146,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].log(com.jcraft.jsch.Log4j2LoggerTest,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:147,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].log(com.jcraft.jsch.Log4j2LoggerTest,String,null)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:148,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].log(com.jcraft.jsch.Log4j2LoggerTest,String,Exception)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:149,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].checkMessages(com.jcraft.jsch.Log4j2LoggerTest,com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      - org.apache.logging.log4j.core.test.appender.ListAppender
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 151
    functionName: '[com.jcraft.jsch.Log4j2LoggerTest].testLogging()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Log4j2LoggerTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Optional].ofNullable(null)'
    - '[com.jcraft.jsch.Log4j2LoggerTest].checkMessages(com.jcraft.jsch.Log4j2LoggerTest,com.jcraft.jsch.Log4j2LoggerTest)'
    - '[com.jcraft.jsch.Log4j2Logger].<init>()'
    - '[java.util.Arrays].asList(String,String,String)'
    - '[java.util.Collections].emptyList()'
    - '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(com.jcraft.jsch.Log4j2LoggerTest)'
    - '[com.jcraft.jsch.Log4j2Logger].log(com.jcraft.jsch.Log4j2LoggerTest,String,Exception)'
    - '[com.jcraft.jsch.Log4j2Logger].log(String,null)'
    - '[java.util.Optional].empty()'
    - '[com.jcraft.jsch.Log4j2Logger].log(String)'
    - '[com.jcraft.jsch.Log4j2Logger].log(String,Exception)'
    - '[com.jcraft.jsch.Log4j2Logger].log(com.jcraft.jsch.Log4j2LoggerTest,String,null)'
    - '[java.util.Arrays].asList(com.jcraft.jsch.Log4j2LoggerTest,com.jcraft.jsch.Log4j2LoggerTest,com.jcraft.jsch.Log4j2LoggerTest)'
    - '[com.jcraft.jsch.Log4j2Logger].log(com.jcraft.jsch.Log4j2LoggerTest,String)'
    - '[java.util.Optional].of(Exception)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Log4j2LoggerTest].testLogging()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.logging.log4j.core.test.appender.ListAppender].getEvents()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:155,1
    - Dst: '[org.apache.logging.log4j.core.test.appender.ListAppender].clear()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:156,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].stream()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:157,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].map()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:157,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].map()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:157,1
    - Dst: '[java.util.stream.Collectors].toList()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:158,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].collect(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:157,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].stream()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:159,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].map()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:159,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].map()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:159,1
    - Dst: '[java.util.stream.Collectors].toList()'
      Src: com.jcraft.jsch.Log4j2LoggerTest:160,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].collect(com.jcraft.jsch.Log4j2LoggerTest)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:159,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertEquals(java.util.List<String>,com.jcraft.jsch.Log4j2LoggerTest,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:161,1
    - Dst: '[com.jcraft.jsch.Log4j2LoggerTest].assertEquals(java.util.List<java.util.Optional<Throwable>>,com.jcraft.jsch.Log4j2LoggerTest,String)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<String>
      - java.util.List<java.util.Optional<Throwable>>
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      - org.apache.logging.log4j.core.test.appender.ListAppender
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - expectedMessages
    - expectedExceptions
    argTypes:
    - java.util.List<String>
    - java.util.List<java.util.Optional<Throwable>>
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: '[com.jcraft.jsch.Log4j2LoggerTest].checkMessages(java.util.List<String>,java.util.List<java.util.Optional<Throwable>>)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Log4j2LoggerTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Log4j2LoggerTest].assertEquals(java.util.List<String>,com.jcraft.jsch.Log4j2LoggerTest,String)'
    - '[com.jcraft.jsch.Log4j2LoggerTest].collect(com.jcraft.jsch.Log4j2LoggerTest)'
    - '[org.apache.logging.log4j.core.test.appender.ListAppender].getEvents()'
    - '[com.jcraft.jsch.Log4j2LoggerTest].assertEquals(java.util.List<java.util.Optional<Throwable>>,com.jcraft.jsch.Log4j2LoggerTest,String)'
    - '[com.jcraft.jsch.Log4j2LoggerTest].map()'
    - '[com.jcraft.jsch.Log4j2LoggerTest].stream()'
    - '[java.util.stream.Collectors].toList()'
    - '[org.apache.logging.log4j.core.test.appender.ListAppender].clear()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Log4j2LoggerTest].checkMessages(java.util.List<String>,java.util.List<java.util.Optional<Throwable>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.logging.log4j.core.config.Configurator].setLevel(org.apache.logging.log4j.Level)'
      Src: com.jcraft.jsch.Log4j2LoggerTest:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.logging.log4j.Level
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      - org.apache.logging.log4j.core.test.appender.ListAppender
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - org.apache.logging.log4j.Level
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(org.apache.logging.log4j.Level)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Log4j2LoggerTest.java
    functionUses: 0
    functionsReached:
    - '[org.apache.logging.log4j.core.config.Configurator].setLevel(org.apache.logging.log4j.Level)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(org.apache.logging.log4j.Level)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].<init>()'
      Src: com.jcraft.jsch.StrictKexIT:68,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
      Src: com.jcraft.jsch.StrictKexIT:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[com.jcraft.jsch.StrictKexIT].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Slf4jLogger].<init>()'
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.StrictKexIT].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
      Src: com.jcraft.jsch.StrictKexIT:74,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
      Src: com.jcraft.jsch.StrictKexIT:75,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.StrictKexIT:78,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.StrictKexIT:79,1
    - Dst: '[java.nio.file.Files].createFile(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:80,1
    - Dst: '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:81,1
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.StrictKexIT:84,1
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:84,1
    - Dst: os.write(com.jcraft.jsch.StrictKexIT)
      Src: com.jcraft.jsch.StrictKexIT:85,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:88,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.StrictKexIT:90,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.StrictKexIT:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 92
    functionName: '[com.jcraft.jsch.StrictKexIT].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 0
    functionsReached:
    - '[java.util.Random].<init>()'
    - '[java.nio.file.Path].resolve(String)'
    - '[java.nio.file.Files].createFile(com.jcraft.jsch.StrictKexIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
    - '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
    - '[java.util.Random].nextBytes(com.jcraft.jsch.StrictKexIT)'
    - os.write(com.jcraft.jsch.StrictKexIT)
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    - '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.StrictKexIT)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.StrictKexIT)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.StrictKexIT].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.StrictKexIT:96,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.StrictKexIT:97,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.StrictKexIT:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: '[com.jcraft.jsch.StrictKexIT].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.StrictKexIT].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.StrictKexIT].createRSAIdentity()'
      Src: com.jcraft.jsch.StrictKexIT:103,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.StrictKexIT:104,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:105,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:106,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.StrictKexIT:107,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:116,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:117,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:118,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:119,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 101
    functionDepth: 8
    functionLinenumber: 101
    functionLinenumberEnd: 121
    functionName: '[com.jcraft.jsch.StrictKexIT].testEnableStrictKexNoRequireStrictKex()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
    - '[com.jcraft.jsch.StrictKexIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.StrictKexIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.StrictKexIT].createRSAIdentity()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.StrictKexIT].testEnableStrictKexNoRequireStrictKex()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.StrictKexIT].createRSAIdentity()'
      Src: com.jcraft.jsch.StrictKexIT:125,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.StrictKexIT:126,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:127,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:128,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.StrictKexIT:129,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:138,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:139,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:140,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:141,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 123
    functionDepth: 8
    functionLinenumber: 123
    functionLinenumberEnd: 143
    functionName: '[com.jcraft.jsch.StrictKexIT].testEnableStrictKexRequireStrictKex()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
    - '[com.jcraft.jsch.StrictKexIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.StrictKexIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.StrictKexIT].createRSAIdentity()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.StrictKexIT].testEnableStrictKexRequireStrictKex()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.StrictKexIT].createRSAIdentity()'
      Src: com.jcraft.jsch.StrictKexIT:147,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.StrictKexIT:148,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:149,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:150,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.StrictKexIT:151,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:160,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:161,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:162,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:163,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 8
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: '[com.jcraft.jsch.StrictKexIT].testNoEnableStrictKexRequireStrictKex()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
    - '[com.jcraft.jsch.StrictKexIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.StrictKexIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.StrictKexIT].createRSAIdentity()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.StrictKexIT].testNoEnableStrictKexRequireStrictKex()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.StrictKexIT].createRSAIdentity()'
      Src: com.jcraft.jsch.StrictKexIT:169,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.StrictKexIT:170,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:171,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:172,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.StrictKexIT:173,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:182,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkNoLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:183,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkNoLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:184,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkNoLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:185,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].checkNoLogs(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 167
    functionDepth: 8
    functionLinenumber: 167
    functionLinenumberEnd: 187
    functionName: '[com.jcraft.jsch.StrictKexIT].testNoEnableStrictKexNoRequireStrictKex()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.StrictKexIT].checkLogs(com.jcraft.jsch.StrictKexIT)'
    - '[com.jcraft.jsch.StrictKexIT].checkNoLogs(com.jcraft.jsch.StrictKexIT)'
    - '[com.jcraft.jsch.StrictKexIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.StrictKexIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.StrictKexIT].createRSAIdentity()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.StrictKexIT].testNoEnableStrictKexNoRequireStrictKex()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.StrictKexIT].getResourceFile(String)'
      Src: com.jcraft.jsch.StrictKexIT:190,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].readHostKey(String)'
      Src: com.jcraft.jsch.StrictKexIT:190,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.StrictKexIT:191,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].getResourceFile(String)'
      Src: com.jcraft.jsch.StrictKexIT:192,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].getResourceFile(String)'
      Src: com.jcraft.jsch.StrictKexIT:192,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.StrictKexIT:192,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.StrictKexIT:193,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.StrictKexIT:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: '[com.jcraft.jsch.StrictKexIT].createRSAIdentity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.StrictKexIT].readHostKey(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    - '[com.jcraft.jsch.StrictKexIT].getResourceFile(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.StrictKexIT].createRSAIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.StrictKexIT:198,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.StrictKexIT,com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:198,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].get(int)'
      Src: com.jcraft.jsch.StrictKexIT:199,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].split(String)'
      Src: com.jcraft.jsch.StrictKexIT:199,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.StrictKexIT:201,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.StrictKexIT:201,1
    - Dst: String.format(com.jcraft.jsch.StrictKexIT,String,com.jcraft.jsch.StrictKexIT,com.jcraft.jsch.StrictKexIT)
      Src: com.jcraft.jsch.StrictKexIT:201,1
    - Dst: '[java.util.Base64].getDecoder()'
      Src: com.jcraft.jsch.StrictKexIT:202,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].decode()'
      Src: com.jcraft.jsch.StrictKexIT:202,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.StrictKexIT,com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: '[com.jcraft.jsch.StrictKexIT].readHostKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.StrictKexIT].decode()'
    - '[java.nio.file.Paths].get(String)'
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.StrictKexIT,com.jcraft.jsch.StrictKexIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - String.format(com.jcraft.jsch.StrictKexIT,String,com.jcraft.jsch.StrictKexIT,com.jcraft.jsch.StrictKexIT)
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.StrictKexIT,com.jcraft.jsch.StrictKexIT)'
    - '[com.jcraft.jsch.StrictKexIT].get(int)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[com.jcraft.jsch.StrictKexIT].split(String)'
    - '[java.util.Base64].getDecoder()'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.StrictKexIT].readHostKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.StrictKexIT:206,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.StrictKexIT:206,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.StrictKexIT,com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:206,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:207,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: '[com.jcraft.jsch.StrictKexIT].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.StrictKexIT,com.jcraft.jsch.StrictKexIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.StrictKexIT].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.StrictKexIT:214,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: com.jcraft.jsch.StrictKexIT:215,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: com.jcraft.jsch.StrictKexIT:216,1
    - Dst: sftp.connect(int)
      Src: com.jcraft.jsch.StrictKexIT:217,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.StrictKexIT:218,1
    - Dst: sftp.put(com.jcraft.jsch.StrictKexIT,String)
      Src: com.jcraft.jsch.StrictKexIT:218,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.StrictKexIT:219,1
    - Dst: sftp.get(String,com.jcraft.jsch.StrictKexIT)
      Src: com.jcraft.jsch.StrictKexIT:219,1
    - Dst: sftp.disconnect()
      Src: com.jcraft.jsch.StrictKexIT:220,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.StrictKexIT:221,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].printInfo()'
      Src: com.jcraft.jsch.StrictKexIT:224,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: com.jcraft.jsch.StrictKexIT:229,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].assertEquals(int,int,com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:229,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
      Src: com.jcraft.jsch.StrictKexIT:230,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].assertEquals(String,com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - debugException
    argTypes:
    - com.jcraft.jsch.Session
    - boolean
    constantsTouched: []
    func_position:
      end: 231
      start: 212
    functionDepth: 7
    functionLinenumber: 212
    functionLinenumberEnd: 231
    functionName: '[com.jcraft.jsch.StrictKexIT].doSftp(com.jcraft.jsch.Session,boolean)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.StrictKexIT].printInfo()'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.StrictKexIT].assertEquals(String,com.jcraft.jsch.StrictKexIT)'
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.StrictKexIT].assertEquals(int,int,com.jcraft.jsch.StrictKexIT)'
    - sftp.put(com.jcraft.jsch.StrictKexIT,String)
    - sftp.get(String,com.jcraft.jsch.StrictKexIT)
    - sftp.disconnect()
    - '[java.nio.file.Path].toString()'
    - sftp.connect(int)
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.StrictKexIT].doSftp(com.jcraft.jsch.Session,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.StrictKexIT:234,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].stream()'
      Src: com.jcraft.jsch.StrictKexIT:234,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].map()'
      Src: com.jcraft.jsch.StrictKexIT:234,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].forEach()'
      Src: com.jcraft.jsch.StrictKexIT:234,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.StrictKexIT:236,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].stream()'
      Src: com.jcraft.jsch.StrictKexIT:236,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].map()'
      Src: com.jcraft.jsch.StrictKexIT:236,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].forEach()'
      Src: com.jcraft.jsch.StrictKexIT:236,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.StrictKexIT:238,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.StrictKexIT:239,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.StrictKexIT:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: '[com.jcraft.jsch.StrictKexIT].printInfo()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.StrictKexIT].forEach()'
    - '[com.jcraft.jsch.StrictKexIT].stream()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - System.out.println(String)
    - '[com.jcraft.jsch.StrictKexIT].map()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.StrictKexIT].printInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.StrictKexIT:244,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].stream()'
      Src: com.jcraft.jsch.StrictKexIT:244,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].map()'
      Src: com.jcraft.jsch.StrictKexIT:244,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].filter()'
      Src: com.jcraft.jsch.StrictKexIT:244,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].findFirst()'
      Src: com.jcraft.jsch.StrictKexIT:244,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].isPresent()'
      Src: com.jcraft.jsch.StrictKexIT:247,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].assertTrue(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:247,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].printInfo()'
      Src: com.jcraft.jsch.StrictKexIT:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - expected
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: '[com.jcraft.jsch.StrictKexIT].checkLogs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.StrictKexIT].printInfo()'
    - '[com.jcraft.jsch.StrictKexIT].filter()'
    - '[com.jcraft.jsch.StrictKexIT].findFirst()'
    - '[com.jcraft.jsch.StrictKexIT].stream()'
    - '[com.jcraft.jsch.StrictKexIT].isPresent()'
    - '[com.jcraft.jsch.StrictKexIT].assertTrue(com.jcraft.jsch.StrictKexIT)'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - '[com.jcraft.jsch.StrictKexIT].map()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.StrictKexIT].checkLogs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.StrictKexIT:255,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].stream()'
      Src: com.jcraft.jsch.StrictKexIT:255,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].map()'
      Src: com.jcraft.jsch.StrictKexIT:255,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].filter()'
      Src: com.jcraft.jsch.StrictKexIT:255,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].findFirst()'
      Src: com.jcraft.jsch.StrictKexIT:255,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].isPresent()'
      Src: com.jcraft.jsch.StrictKexIT:258,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].assertFalse(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:258,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].printInfo()'
      Src: com.jcraft.jsch.StrictKexIT:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - expected
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: '[com.jcraft.jsch.StrictKexIT].checkNoLogs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.StrictKexIT].printInfo()'
    - '[com.jcraft.jsch.StrictKexIT].filter()'
    - '[com.jcraft.jsch.StrictKexIT].findFirst()'
    - '[com.jcraft.jsch.StrictKexIT].stream()'
    - '[com.jcraft.jsch.StrictKexIT].isPresent()'
    - '[com.jcraft.jsch.StrictKexIT].assertFalse(com.jcraft.jsch.StrictKexIT)'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - '[com.jcraft.jsch.StrictKexIT].map()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.StrictKexIT].checkNoLogs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.StrictKexIT].getClass()'
      Src: com.jcraft.jsch.StrictKexIT:266,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.StrictKexIT,String)'
      Src: com.jcraft.jsch.StrictKexIT:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: '[com.jcraft.jsch.StrictKexIT].getResourceFile(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.StrictKexIT].getClass()'
    - '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.StrictKexIT,String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.StrictKexIT].getResourceFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
      Src: com.jcraft.jsch.StrictKexIT:37,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:37,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.StrictKexIT:38,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.StrictKexIT:40,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.StrictKexIT:51,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:51,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:51,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:51,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:51,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:51,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:51,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:51,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:51,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:51,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:51,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:51,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:51,1
    - Dst: '[com.jcraft.jsch.StrictKexIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.StrictKexIT:51,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.StrictKexIT)'
      Src: com.jcraft.jsch.StrictKexIT:50,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.StrictKexIT:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.StrictKexIT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.StrictKexIT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.StrictKexIT].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.StrictKexIT)'
    - '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
    - '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.StrictKexIT)'
    linkageType: ''
    returnType: com.jcraft.jsch.StrictKexIT
    signature: '[com.jcraft.jsch.StrictKexIT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].<init>(int)'
      Src: com.jcraft.jsch.PktSize128IT:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.PktSize128IT
      static: false
      superClass: com.jcraft.jsch.AbstractBufferMargin
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 8
    functionDepth: 2
    functionLinenumber: 8
    functionLinenumberEnd: 10
    functionName: '[com.jcraft.jsch.PktSize128IT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/PktSize128IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AbstractBufferMargin].<init>(int)'
    linkageType: ''
    returnType: com.jcraft.jsch.PktSize128IT
    signature: '[com.jcraft.jsch.PktSize128IT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.PktSize128IT].doTestSftp(String,String,String)'
      Src: com.jcraft.jsch.PktSize128IT:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.AbstractBufferMargin
    argCount: 3
    argNames:
    - cipher
    - mac
    - compression
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 24
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 24
    functionName: '[com.jcraft.jsch.PktSize128IT].testSftp(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/PktSize128IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.PktSize128IT].doTestSftp(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PktSize128IT].testSftp(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.PktSize128IT].doTestScp(String,String,String)'
      Src: com.jcraft.jsch.PktSize128IT:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.AbstractBufferMargin
    argCount: 3
    argNames:
    - cipher
    - mac
    - compression
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.PktSize128IT].testScp(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/PktSize128IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.PktSize128IT].doTestScp(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PktSize128IT].testScp(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.logging.LogManager].getLogManager()'
      Src: com.jcraft.jsch.JulLoggerTest:32,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].reset()'
      Src: com.jcraft.jsch.JulLoggerTest:32,1
    - Dst: '[java.util.logging.Logger].getHandlers()'
      Src: com.jcraft.jsch.JulLoggerTest:33,1
    - Dst: '[java.util.Arrays].stream(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:33,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].forEach()'
      Src: com.jcraft.jsch.JulLoggerTest:33,1
    - Dst: '[java.util.logging.Logger].addHandler(ListHandler)'
      Src: com.jcraft.jsch.JulLoggerTest:34,1
    - Dst: '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:35,1
    - Dst: '[java.util.logging.Logger].setUseParentHandlers(boolean)'
      Src: com.jcraft.jsch.JulLoggerTest:36,1
    - Dst: '[java.util.logging.Logger].getLogger(String)'
      Src: com.jcraft.jsch.JulLoggerTest:37,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].setLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.logging.Logger
      - ListHandler
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.JulLoggerTest].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.logging.Logger].getHandlers()'
    - '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
    - '[java.util.logging.Logger].setUseParentHandlers(boolean)'
    - '[com.jcraft.jsch.JulLoggerTest].setLevel(com.jcraft.jsch.JulLoggerTest)'
    - '[java.util.logging.Logger].addHandler(ListHandler)'
    - '[java.util.Arrays].stream(com.jcraft.jsch.JulLoggerTest)'
    - '[java.util.logging.Logger].getLogger(String)'
    - '[com.jcraft.jsch.JulLoggerTest].reset()'
    - '[com.jcraft.jsch.JulLoggerTest].forEach()'
    - '[java.util.logging.LogManager].getLogManager()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JulLoggerTest].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JulLoggerTest.ListHandler].clear()'
      Src: com.jcraft.jsch.JulLoggerTest:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.logging.Logger
      - ListHandler
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.JulLoggerTest].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JulLoggerTest.ListHandler].clear()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JulLoggerTest].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.logging.LogManager].getLogManager()'
      Src: com.jcraft.jsch.JulLoggerTest:47,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].reset()'
      Src: com.jcraft.jsch.JulLoggerTest:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.logging.Logger
      - ListHandler
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.JulLoggerTest].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JulLoggerTest].reset()'
    - '[java.util.logging.LogManager].getLogManager()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JulLoggerTest].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JulLogger].getLevel()'
      Src: com.jcraft.jsch.JulLoggerTest:52,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertEquals(com.jcraft.jsch.JulLoggerTest,java.util.logging.Level)'
      Src: com.jcraft.jsch.JulLoggerTest:52,1
    - Dst: '[com.jcraft.jsch.JulLogger].getLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:54,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertEquals(com.jcraft.jsch.JulLoggerTest,java.util.logging.Level)'
      Src: com.jcraft.jsch.JulLoggerTest:54,1
    - Dst: '[com.jcraft.jsch.JulLogger].getLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:55,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertEquals(com.jcraft.jsch.JulLoggerTest,java.util.logging.Level)'
      Src: com.jcraft.jsch.JulLoggerTest:55,1
    - Dst: '[com.jcraft.jsch.JulLogger].getLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:56,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertEquals(com.jcraft.jsch.JulLoggerTest,java.util.logging.Level)'
      Src: com.jcraft.jsch.JulLoggerTest:56,1
    - Dst: '[com.jcraft.jsch.JulLogger].getLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:57,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertEquals(com.jcraft.jsch.JulLoggerTest,java.util.logging.Level)'
      Src: com.jcraft.jsch.JulLoggerTest:57,1
    - Dst: '[com.jcraft.jsch.JulLogger].getLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:58,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertEquals(com.jcraft.jsch.JulLoggerTest,java.util.logging.Level)'
      Src: com.jcraft.jsch.JulLoggerTest:58,1
    - Dst: '[com.jcraft.jsch.JulLogger].getLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:60,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertEquals(com.jcraft.jsch.JulLoggerTest,java.util.logging.Level)'
      Src: com.jcraft.jsch.JulLoggerTest:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.logging.Logger
      - ListHandler
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: '[com.jcraft.jsch.JulLoggerTest].testGetLevel()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JulLogger].getLevel(com.jcraft.jsch.JulLoggerTest)'
    - '[com.jcraft.jsch.JulLogger].getLevel()'
    - '[com.jcraft.jsch.JulLoggerTest].assertEquals(com.jcraft.jsch.JulLoggerTest,java.util.logging.Level)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JulLoggerTest].testGetLevel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JulLogger].<init>()'
      Src: com.jcraft.jsch.JulLoggerTest:65,1
    - Dst: '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:67,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:68,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:68,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:69,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:69,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:70,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:70,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:71,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:71,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:72,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:72,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled()'
      Src: com.jcraft.jsch.JulLoggerTest:73,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:73,1
    - Dst: '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:75,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:76,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:76,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:77,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:77,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:78,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:78,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:79,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:79,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:80,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:80,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled()'
      Src: com.jcraft.jsch.JulLoggerTest:81,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:81,1
    - Dst: '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:83,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:84,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:84,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:85,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:85,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:86,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:86,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:87,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:87,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:88,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:88,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled()'
      Src: com.jcraft.jsch.JulLoggerTest:89,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:89,1
    - Dst: '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:91,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:92,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:92,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:93,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:93,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:94,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:94,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:95,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:95,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:96,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:96,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled()'
      Src: com.jcraft.jsch.JulLoggerTest:97,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:97,1
    - Dst: '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:99,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:100,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:100,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:101,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:101,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:102,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:102,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:103,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:103,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:104,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:104,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled()'
      Src: com.jcraft.jsch.JulLoggerTest:105,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:105,1
    - Dst: '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:107,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:108,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:108,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:109,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:109,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:110,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:110,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:111,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:111,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:112,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:112,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled()'
      Src: com.jcraft.jsch.JulLoggerTest:113,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:113,1
    - Dst: '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:115,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:116,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:116,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:117,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:117,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:118,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:118,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:119,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:119,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:120,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:120,1
    - Dst: '[com.jcraft.jsch.JulLogger].isEnabled()'
      Src: com.jcraft.jsch.JulLoggerTest:121,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.JulLoggerTest:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 99
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.logging.Logger
      - ListHandler
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 122
    functionName: '[com.jcraft.jsch.JulLoggerTest].testIsEnabled()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JulLogger].isEnabled()'
    - '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
    - '[com.jcraft.jsch.JulLogger].<init>()'
    - '[com.jcraft.jsch.JulLoggerTest].assertTrue(boolean,String)'
    - '[com.jcraft.jsch.JulLogger].isEnabled(com.jcraft.jsch.JulLoggerTest)'
    - '[com.jcraft.jsch.JulLoggerTest].assertFalse(boolean,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JulLoggerTest].testIsEnabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JulLogger].<init>()'
      Src: com.jcraft.jsch.JulLoggerTest:126,1
    - Dst: '[java.util.Arrays].asList(String,String,String)'
      Src: com.jcraft.jsch.JulLoggerTest:129,1
    - Dst: '[java.util.Optional].empty()'
      Src: com.jcraft.jsch.JulLoggerTest:131,1
    - Dst: '[java.util.Optional].ofNullable(null)'
      Src: com.jcraft.jsch.JulLoggerTest:131,1
    - Dst: '[java.util.Optional].of(Exception)'
      Src: com.jcraft.jsch.JulLoggerTest:131,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.JulLoggerTest,com.jcraft.jsch.JulLoggerTest,com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:131,1
    - Dst: '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:133,1
    - Dst: '[com.jcraft.jsch.JulLogger].log(String)'
      Src: com.jcraft.jsch.JulLoggerTest:134,1
    - Dst: '[com.jcraft.jsch.JulLogger].log(String,null)'
      Src: com.jcraft.jsch.JulLoggerTest:135,1
    - Dst: '[com.jcraft.jsch.JulLogger].log(String,Exception)'
      Src: com.jcraft.jsch.JulLoggerTest:136,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].checkMessages(com.jcraft.jsch.JulLoggerTest,com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:137,1
    - Dst: '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:139,1
    - Dst: '[com.jcraft.jsch.JulLogger].log(com.jcraft.jsch.JulLoggerTest,String)'
      Src: com.jcraft.jsch.JulLoggerTest:140,1
    - Dst: '[com.jcraft.jsch.JulLogger].log(com.jcraft.jsch.JulLoggerTest,String,null)'
      Src: com.jcraft.jsch.JulLoggerTest:141,1
    - Dst: '[com.jcraft.jsch.JulLogger].log(com.jcraft.jsch.JulLoggerTest,String,Exception)'
      Src: com.jcraft.jsch.JulLoggerTest:142,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].checkMessages(com.jcraft.jsch.JulLoggerTest,com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:143,1
    - Dst: '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:145,1
    - Dst: '[com.jcraft.jsch.JulLogger].log(String)'
      Src: com.jcraft.jsch.JulLoggerTest:146,1
    - Dst: '[com.jcraft.jsch.JulLogger].log(String,null)'
      Src: com.jcraft.jsch.JulLoggerTest:147,1
    - Dst: '[com.jcraft.jsch.JulLogger].log(String,Exception)'
      Src: com.jcraft.jsch.JulLoggerTest:148,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: com.jcraft.jsch.JulLoggerTest:149,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: com.jcraft.jsch.JulLoggerTest:149,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].checkMessages(com.jcraft.jsch.JulLoggerTest,com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:149,1
    - Dst: '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:151,1
    - Dst: '[com.jcraft.jsch.JulLogger].log(com.jcraft.jsch.JulLoggerTest,String)'
      Src: com.jcraft.jsch.JulLoggerTest:152,1
    - Dst: '[com.jcraft.jsch.JulLogger].log(com.jcraft.jsch.JulLoggerTest,String,null)'
      Src: com.jcraft.jsch.JulLoggerTest:153,1
    - Dst: '[com.jcraft.jsch.JulLogger].log(com.jcraft.jsch.JulLoggerTest,String,Exception)'
      Src: com.jcraft.jsch.JulLoggerTest:154,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].checkMessages(com.jcraft.jsch.JulLoggerTest,com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.logging.Logger
      - ListHandler
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 156
    functionName: '[com.jcraft.jsch.JulLoggerTest].testLogging()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(com.jcraft.jsch.JulLoggerTest,com.jcraft.jsch.JulLoggerTest,com.jcraft.jsch.JulLoggerTest)'
    - '[com.jcraft.jsch.JulLogger].log(com.jcraft.jsch.JulLoggerTest,String)'
    - '[java.util.Optional].ofNullable(null)'
    - '[com.jcraft.jsch.JulLogger].log(String)'
    - '[com.jcraft.jsch.JulLogger].log(com.jcraft.jsch.JulLoggerTest,String,Exception)'
    - '[java.util.logging.Logger].setLevel(com.jcraft.jsch.JulLoggerTest)'
    - '[java.util.Arrays].asList(String,String,String)'
    - '[com.jcraft.jsch.JulLogger].log(String,null)'
    - '[java.util.Collections].emptyList()'
    - '[com.jcraft.jsch.JulLogger].<init>()'
    - '[com.jcraft.jsch.JulLogger].log(com.jcraft.jsch.JulLoggerTest,String,null)'
    - '[java.util.Optional].empty()'
    - '[com.jcraft.jsch.JulLoggerTest].checkMessages(com.jcraft.jsch.JulLoggerTest,com.jcraft.jsch.JulLoggerTest)'
    - '[java.util.Optional].of(Exception)'
    - '[com.jcraft.jsch.JulLogger].log(String,Exception)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JulLoggerTest].testLogging()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JulLoggerTest.ListHandler].getRecords()'
      Src: com.jcraft.jsch.JulLoggerTest:160,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest.ListHandler].clear()'
      Src: com.jcraft.jsch.JulLoggerTest:161,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].stream()'
      Src: com.jcraft.jsch.JulLoggerTest:163,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].map()'
      Src: com.jcraft.jsch.JulLoggerTest:163,1
    - Dst: '[java.util.stream.Collectors].toList()'
      Src: com.jcraft.jsch.JulLoggerTest:163,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].collect(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:163,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].stream()'
      Src: com.jcraft.jsch.JulLoggerTest:164,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].map()'
      Src: com.jcraft.jsch.JulLoggerTest:164,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].map()'
      Src: com.jcraft.jsch.JulLoggerTest:164,1
    - Dst: '[java.util.stream.Collectors].toList()'
      Src: com.jcraft.jsch.JulLoggerTest:165,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].collect(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:164,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertEquals(java.util.List<String>,com.jcraft.jsch.JulLoggerTest,String)'
      Src: com.jcraft.jsch.JulLoggerTest:166,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest].assertEquals(java.util.List<java.util.Optional<Throwable>>,com.jcraft.jsch.JulLoggerTest,String)'
      Src: com.jcraft.jsch.JulLoggerTest:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<String>
      - java.util.List<java.util.Optional<Throwable>>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.logging.Logger
      - ListHandler
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - expectedMessages
    - expectedExceptions
    argTypes:
    - java.util.List<String>
    - java.util.List<java.util.Optional<Throwable>>
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: '[com.jcraft.jsch.JulLoggerTest].checkMessages(java.util.List<String>,java.util.List<java.util.Optional<Throwable>>)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JulLoggerTest].stream()'
    - '[com.jcraft.jsch.JulLoggerTest].collect(com.jcraft.jsch.JulLoggerTest)'
    - '[com.jcraft.jsch.JulLoggerTest.ListHandler].clear()'
    - '[com.jcraft.jsch.JulLoggerTest].assertEquals(java.util.List<java.util.Optional<Throwable>>,com.jcraft.jsch.JulLoggerTest,String)'
    - '[com.jcraft.jsch.JulLoggerTest].map()'
    - '[com.jcraft.jsch.JulLoggerTest].assertEquals(java.util.List<String>,com.jcraft.jsch.JulLoggerTest,String)'
    - '[com.jcraft.jsch.JulLoggerTest.ListHandler].getRecords()'
    - '[java.util.stream.Collectors].toList()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JulLoggerTest].checkMessages(java.util.List<String>,java.util.List<java.util.Optional<Throwable>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSch.class.getName()
      Src: com.jcraft.jsch.JulLoggerTest:25,1
    - Dst: '[java.util.logging.Logger].getLogger(com.jcraft.jsch.JulLoggerTest)'
      Src: com.jcraft.jsch.JulLoggerTest:25,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest.ListHandler].<init>()'
      Src: com.jcraft.jsch.JulLoggerTest:26,1
    - Dst: '[Exception].<init>(String)'
      Src: com.jcraft.jsch.JulLoggerTest:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.logging.Logger
      - ListHandler
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JulLoggerTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.JulLoggerTest].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JulLoggerTest.ListHandler].<init>()'
    - '[java.util.logging.Logger].getLogger(com.jcraft.jsch.JulLoggerTest)'
    - JSch.class.getName()
    - '[Exception].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JulLoggerTest
    signature: '[com.jcraft.jsch.JulLoggerTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.logging.Handler].<init>()'
      Src: com.jcraft.jsch.JulLoggerTest.ListHandler:174,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: com.jcraft.jsch.JulLoggerTest.ListHandler:175,1
    - Dst: '[java.util.Collections].synchronizedList(java.util.ArrayList)'
      Src: com.jcraft.jsch.JulLoggerTest.ListHandler:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<LogRecord>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JulLoggerTest.ListHandler
      static: false
      superClass: Handler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: '[com.jcraft.jsch.JulLoggerTest.ListHandler].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
    functionUses: 1
    functionsReached:
    - '[java.util.logging.Handler].<init>()'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.Collections].synchronizedList(java.util.ArrayList)'
    linkageType: ''
    returnType: com.jcraft.jsch.JulLoggerTest.ListHandler
    signature: '[com.jcraft.jsch.JulLoggerTest.ListHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[List<LogRecord>].add(java.util.logging.LogRecord)'
      Src: com.jcraft.jsch.JulLoggerTest.ListHandler:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.logging.LogRecord
      classConcrete: true
      classEnum: false
      classFields:
      - List<LogRecord>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Handler
    argCount: 1
    argNames:
    - record
    argTypes:
    - java.util.logging.LogRecord
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: '[com.jcraft.jsch.JulLoggerTest.ListHandler].publish(java.util.logging.LogRecord)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[List<LogRecord>].add(java.util.logging.LogRecord)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JulLoggerTest.ListHandler].publish(java.util.logging.LogRecord)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<LogRecord>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Handler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: '[com.jcraft.jsch.JulLoggerTest.ListHandler].flush()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JulLoggerTest.ListHandler].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<LogRecord>
      classPublic: true
      concrete: true
      exceptions:
      - SecurityException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Handler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: '[com.jcraft.jsch.JulLoggerTest.ListHandler].close()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JulLoggerTest.ListHandler].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>(List<LogRecord>)'
      Src: com.jcraft.jsch.JulLoggerTest.ListHandler:190,1
    - Dst: '[java.util.Collections].unmodifiableList(java.util.ArrayList)'
      Src: com.jcraft.jsch.JulLoggerTest.ListHandler:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<LogRecord>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<java.util.logging.LogRecord>
      static: false
      superClass: Handler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: '[com.jcraft.jsch.JulLoggerTest.ListHandler].getRecords()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
    functionUses: 1
    functionsReached:
    - '[java.util.Collections].unmodifiableList(java.util.ArrayList)'
    - '[java.util.ArrayList].<init>(List<LogRecord>)'
    linkageType: ''
    returnType: java.util.List<java.util.logging.LogRecord>
    signature: '[com.jcraft.jsch.JulLoggerTest.ListHandler].getRecords()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[List<LogRecord>].clear()'
      Src: com.jcraft.jsch.JulLoggerTest.ListHandler:195,1
    - Dst: '[com.jcraft.jsch.JulLoggerTest.ListHandler].setLevel(com.jcraft.jsch.JulLoggerTest.ListHandler)'
      Src: com.jcraft.jsch.JulLoggerTest.ListHandler:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<LogRecord>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Handler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: '[com.jcraft.jsch.JulLoggerTest.ListHandler].clear()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.JulLoggerTest.ListHandler].setLevel(com.jcraft.jsch.JulLoggerTest.ListHandler)'
    - '[List<LogRecord>].clear()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JulLoggerTest.ListHandler].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].createRSAIdentity()'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:43,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:44,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:45,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:46,1
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:47,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].assertThrows(String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: '[com.jcraft.jsch.JSchStrictKexExceptionIT].testEnableStrictKexRequireStrictKex()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchStrictKexExceptionIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchStrictKexExceptionIT].createRSAIdentity()'
    - '[com.jcraft.jsch.JSchStrictKexExceptionIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.JSchStrictKexExceptionIT].assertThrows(String)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSchStrictKexExceptionIT].testEnableStrictKexRequireStrictKex()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].createRSAIdentity()'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:55,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:56,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:57,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:58,1
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:59,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].assertThrows(String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: '[com.jcraft.jsch.JSchStrictKexExceptionIT].testNoEnableStrictKexRequireStrictKex()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchStrictKexExceptionIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchStrictKexExceptionIT].createRSAIdentity()'
    - '[com.jcraft.jsch.JSchStrictKexExceptionIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.JSchStrictKexExceptionIT].assertThrows(String)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSchStrictKexExceptionIT].testNoEnableStrictKexRequireStrictKex()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].getResourceFile(String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:66,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].readHostKey(String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:66,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:67,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].getResourceFile(String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:68,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].getResourceFile(String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:68,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:68,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:69,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.JSchStrictKexExceptionIT].createRSAIdentity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchStrictKexExceptionIT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.JSchStrictKexExceptionIT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    - '[com.jcraft.jsch.JSchStrictKexExceptionIT].readHostKey(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.JSchStrictKexExceptionIT].createRSAIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:74,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.JSchStrictKexExceptionIT,com.jcraft.jsch.JSchStrictKexExceptionIT)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:74,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].get(int)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:75,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].split(String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:75,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:77,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:77,1
    - Dst: String.format(com.jcraft.jsch.JSchStrictKexExceptionIT,String,com.jcraft.jsch.JSchStrictKexExceptionIT,com.jcraft.jsch.JSchStrictKexExceptionIT)
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:77,1
    - Dst: '[java.util.Base64].getDecoder()'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:78,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].decode()'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:78,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.JSchStrictKexExceptionIT,com.jcraft.jsch.JSchStrictKexExceptionIT)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: '[com.jcraft.jsch.JSchStrictKexExceptionIT].readHostKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchStrictKexExceptionIT.java
    functionUses: 1
    functionsReached:
    - '[java.nio.file.Paths].get(String)'
    - String.format(com.jcraft.jsch.JSchStrictKexExceptionIT,String,com.jcraft.jsch.JSchStrictKexExceptionIT,com.jcraft.jsch.JSchStrictKexExceptionIT)
    - '[com.jcraft.jsch.JSchStrictKexExceptionIT].decode()'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.JSchStrictKexExceptionIT,com.jcraft.jsch.JSchStrictKexExceptionIT)'
    - '[com.jcraft.jsch.JSchStrictKexExceptionIT].get(int)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.JSchStrictKexExceptionIT,com.jcraft.jsch.JSchStrictKexExceptionIT)'
    - '[com.jcraft.jsch.JSchStrictKexExceptionIT].split(String)'
    - '[java.util.Base64].getDecoder()'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.JSchStrictKexExceptionIT].readHostKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:82,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:82,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.JSchStrictKexExceptionIT,com.jcraft.jsch.JSchStrictKexExceptionIT)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:82,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:83,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.JSchStrictKexExceptionIT].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchStrictKexExceptionIT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.JSchStrictKexExceptionIT,com.jcraft.jsch.JSchStrictKexExceptionIT)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.JSchStrictKexExceptionIT].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].getClass()'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:89,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.JSchStrictKexExceptionIT,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '[com.jcraft.jsch.JSchStrictKexExceptionIT].getResourceFile(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchStrictKexExceptionIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSchStrictKexExceptionIT].getClass()'
    - '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.JSchStrictKexExceptionIT,String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.JSchStrictKexExceptionIT].getResourceFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:24,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.JSchStrictKexExceptionIT)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:23,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.JSchStrictKexExceptionIT:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JSchStrictKexExceptionIT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.JSchStrictKexExceptionIT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/JSchStrictKexExceptionIT.java
    functionUses: 0
    functionsReached:
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.JSchStrictKexExceptionIT)'
    - '[com.jcraft.jsch.JSchStrictKexExceptionIT].withFileFromClasspath(String,String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchStrictKexExceptionIT
    signature: '[com.jcraft.jsch.JSchStrictKexExceptionIT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TimeZone].getDefault()'
      Src: com.jcraft.jsch.SftpATTRSTest:20,1
    - Dst: '[java.util.TimeZone].getTimeZone(com.jcraft.jsch.SftpATTRSTest)'
      Src: com.jcraft.jsch.SftpATTRSTest:21,1
    - Dst: '[java.util.TimeZone].setDefault(com.jcraft.jsch.SftpATTRSTest)'
      Src: com.jcraft.jsch.SftpATTRSTest:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.TimeZone
      - java.util.Random
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: '[com.jcraft.jsch.SftpATTRSTest].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SftpATTRSTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.TimeZone].getTimeZone(com.jcraft.jsch.SftpATTRSTest)'
    - '[java.util.TimeZone].getDefault()'
    - '[java.util.TimeZone].setDefault(com.jcraft.jsch.SftpATTRSTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SftpATTRSTest].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TimeZone].setDefault(java.util.TimeZone)'
      Src: com.jcraft.jsch.SftpATTRSTest:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.TimeZone
      - java.util.Random
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: '[com.jcraft.jsch.SftpATTRSTest].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SftpATTRSTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.TimeZone].setDefault(java.util.TimeZone)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SftpATTRSTest].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Date].<init>(int)'
      Src: com.jcraft.jsch.SftpATTRSTest:31,1
    - Dst: '[java.util.Date].toString()'
      Src: com.jcraft.jsch.SftpATTRSTest:31,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].toDateString(int)'
      Src: com.jcraft.jsch.SftpATTRSTest:32,1
    - Dst: '[com.jcraft.jsch.SftpATTRSTest].assertEquals(com.jcraft.jsch.SftpATTRSTest,String)'
      Src: com.jcraft.jsch.SftpATTRSTest:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.TimeZone
      - java.util.Random
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.SftpATTRSTest].testToDateString0()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SftpATTRSTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpATTRS].toDateString(int)'
    - '[java.util.Date].<init>(int)'
    - '[java.util.Date].toString()'
    - '[com.jcraft.jsch.SftpATTRSTest].assertEquals(com.jcraft.jsch.SftpATTRSTest,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SftpATTRSTest].testToDateString0()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: com.jcraft.jsch.SftpATTRSTest:38,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: com.jcraft.jsch.SftpATTRSTest:39,1
    - Dst: '[java.util.Date].toString()'
      Src: com.jcraft.jsch.SftpATTRSTest:39,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].toDateString(com.jcraft.jsch.SftpATTRSTest)'
      Src: com.jcraft.jsch.SftpATTRSTest:40,1
    - Dst: '[com.jcraft.jsch.SftpATTRSTest].assertEquals(com.jcraft.jsch.SftpATTRSTest,String)'
      Src: com.jcraft.jsch.SftpATTRSTest:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.TimeZone
      - java.util.Random
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: '[com.jcraft.jsch.SftpATTRSTest].testToDateStringNow()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SftpATTRSTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Date].<init>(int)'
    - System.currentTimeMillis()
    - '[com.jcraft.jsch.SftpATTRS].toDateString(com.jcraft.jsch.SftpATTRSTest)'
    - '[java.util.Date].toString()'
    - '[com.jcraft.jsch.SftpATTRSTest].assertEquals(com.jcraft.jsch.SftpATTRSTest,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SftpATTRSTest].testToDateStringNow()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].ints(com.jcraft.jsch.SftpATTRSTest,com.jcraft.jsch.SftpATTRSTest)'
      Src: com.jcraft.jsch.SftpATTRSTest:47,1
    - Dst: '[com.jcraft.jsch.SftpATTRSTest].findFirst()'
      Src: com.jcraft.jsch.SftpATTRSTest:47,1
    - Dst: '[com.jcraft.jsch.SftpATTRSTest].getAsInt()'
      Src: com.jcraft.jsch.SftpATTRSTest:47,1
    - Dst: Integer.toUnsignedLong(com.jcraft.jsch.SftpATTRSTest)
      Src: com.jcraft.jsch.SftpATTRSTest:48,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: com.jcraft.jsch.SftpATTRSTest:49,1
    - Dst: '[java.util.Date].toString()'
      Src: com.jcraft.jsch.SftpATTRSTest:49,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].toDateString(com.jcraft.jsch.SftpATTRSTest)'
      Src: com.jcraft.jsch.SftpATTRSTest:50,1
    - Dst: '[com.jcraft.jsch.SftpATTRSTest].assertEquals(com.jcraft.jsch.SftpATTRSTest,String)'
      Src: com.jcraft.jsch.SftpATTRSTest:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.TimeZone
      - java.util.Random
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.SftpATTRSTest].testToDateStringRandom()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SftpATTRSTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpATTRSTest].getAsInt()'
    - '[java.util.Date].<init>(int)'
    - '[java.util.Random].ints(com.jcraft.jsch.SftpATTRSTest,com.jcraft.jsch.SftpATTRSTest)'
    - Integer.toUnsignedLong(com.jcraft.jsch.SftpATTRSTest)
    - '[com.jcraft.jsch.SftpATTRS].toDateString(com.jcraft.jsch.SftpATTRSTest)'
    - '[java.util.Date].toString()'
    - '[com.jcraft.jsch.SftpATTRSTest].assertEquals(com.jcraft.jsch.SftpATTRSTest,String)'
    - '[com.jcraft.jsch.SftpATTRSTest].findFirst()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SftpATTRSTest].testToDateStringRandom()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.SftpATTRSTest:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.TimeZone
      - java.util.Random
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SftpATTRSTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.SftpATTRSTest].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SftpATTRSTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Random].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.SftpATTRSTest
    signature: '[com.jcraft.jsch.SftpATTRSTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].<init>()'
      Src: com.jcraft.jsch.Algorithms2IT:78,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
      Src: com.jcraft.jsch.Algorithms2IT:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[com.jcraft.jsch.Algorithms2IT].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Slf4jLogger].<init>()'
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
      Src: com.jcraft.jsch.Algorithms2IT:84,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
      Src: com.jcraft.jsch.Algorithms2IT:85,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.Algorithms2IT:88,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.Algorithms2IT:89,1
    - Dst: '[java.nio.file.Files].createFile(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:90,1
    - Dst: '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:91,1
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.Algorithms2IT:94,1
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:94,1
    - Dst: os.write(com.jcraft.jsch.Algorithms2IT)
      Src: com.jcraft.jsch.Algorithms2IT:95,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:98,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Algorithms2IT:100,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Algorithms2IT:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 102
    functionName: '[com.jcraft.jsch.Algorithms2IT].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.Algorithms2IT)'
    - '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.Algorithms2IT)'
    - '[java.nio.file.Path].resolve(String)'
    - '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
    - '[java.util.Random].nextBytes(com.jcraft.jsch.Algorithms2IT)'
    - '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    - os.write(com.jcraft.jsch.Algorithms2IT)
    - '[java.nio.file.Files].createFile(com.jcraft.jsch.Algorithms2IT)'
    - '[java.util.Random].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.Algorithms2IT:106,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Algorithms2IT:107,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Algorithms2IT:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: '[com.jcraft.jsch.Algorithms2IT].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms2IT:115,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms2IT:116,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:117,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:118,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms2IT:119,1
    - Dst: String.format(com.jcraft.jsch.Algorithms2IT,String,String)
      Src: com.jcraft.jsch.Algorithms2IT:121,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kex
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 8
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: '[com.jcraft.jsch.Algorithms2IT].testJava11KEXs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
    - String.format(com.jcraft.jsch.Algorithms2IT,String,String)
    - '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].testJava11KEXs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms2IT:129,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms2IT:130,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:131,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:132,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:133,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms2IT:134,1
    - Dst: String.format(com.jcraft.jsch.Algorithms2IT,String,String)
      Src: com.jcraft.jsch.Algorithms2IT:136,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kex
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 8
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: '[com.jcraft.jsch.Algorithms2IT].testJava24KEXs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
    - String.format(com.jcraft.jsch.Algorithms2IT,String,String)
    - '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].testJava24KEXs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms2IT:143,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms2IT:144,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:145,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:146,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:147,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:148,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms2IT:149,1
    - Dst: String.format(com.jcraft.jsch.Algorithms2IT,String,String)
      Src: com.jcraft.jsch.Algorithms2IT:151,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kex
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 8
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: '[com.jcraft.jsch.Algorithms2IT].testBCKEXs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
    - String.format(com.jcraft.jsch.Algorithms2IT,String,String)
    - '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].testBCKEXs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms2IT:165,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms2IT:166,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:167,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms2IT:168,1
    - Dst: String.format(com.jcraft.jsch.Algorithms2IT,String,String)
      Src: com.jcraft.jsch.Algorithms2IT:170,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kex
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 172
      start: 155
    functionDepth: 8
    functionLinenumber: 155
    functionLinenumberEnd: 172
    functionName: '[com.jcraft.jsch.Algorithms2IT].testKEXs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
    - String.format(com.jcraft.jsch.Algorithms2IT,String,String)
    - '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].testKEXs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms2IT:193,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms2IT:194,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:195,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:196,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:197,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:198,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms2IT:199,1
    - Dst: String.format(com.jcraft.jsch.Algorithms2IT,String,String)
      Src: com.jcraft.jsch.Algorithms2IT:201,1
    - Dst: String.format(com.jcraft.jsch.Algorithms2IT,String,String,String,String)
      Src: com.jcraft.jsch.Algorithms2IT:202,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:204,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - kex
    - size
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 206
      start: 174
    functionDepth: 8
    functionLinenumber: 174
    functionLinenumberEnd: 206
    functionName: '[com.jcraft.jsch.Algorithms2IT].testDHGEXSizes(String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
    - String.format(com.jcraft.jsch.Algorithms2IT,String,String,String,String)
    - String.format(com.jcraft.jsch.Algorithms2IT,String,String)
    - '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].testDHGEXSizes(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createEd448Identity()'
      Src: com.jcraft.jsch.Algorithms2IT:211,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms2IT:212,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:213,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:214,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:215,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:216,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms2IT:217,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 8
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: '[com.jcraft.jsch.Algorithms2IT].testJava15Ed448()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
    - '[com.jcraft.jsch.Algorithms2IT].createEd448Identity()'
    - '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].testJava15Ed448()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createEd448Identity()'
      Src: com.jcraft.jsch.Algorithms2IT:225,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms2IT:226,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:227,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:228,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:229,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:230,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms2IT:231,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 8
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: '[com.jcraft.jsch.Algorithms2IT].testBCEd448()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
    - '[com.jcraft.jsch.Algorithms2IT].createEd448Identity()'
    - '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].testBCEd448()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createEd448Identity()'
      Src: com.jcraft.jsch.Algorithms2IT:239,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms2IT:240,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:241,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:242,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms2IT:243,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 8
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: '[com.jcraft.jsch.Algorithms2IT].testEd448()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
    - '[com.jcraft.jsch.Algorithms2IT].createEd448Identity()'
    - '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].testEd448()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms2IT:253,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms2IT:254,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:255,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:256,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms2IT:257,1
    - Dst: String.format(com.jcraft.jsch.Algorithms2IT,String,String)
      Src: com.jcraft.jsch.Algorithms2IT:259,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - keyType
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 8
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: '[com.jcraft.jsch.Algorithms2IT].testRSA(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
    - String.format(com.jcraft.jsch.Algorithms2IT,String,String)
    - '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].testRSA(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms2IT:266,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms2IT:267,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:268,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:269,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:270,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:271,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms2IT:272,1
    - Dst: String.format(com.jcraft.jsch.Algorithms2IT,String,String)
      Src: com.jcraft.jsch.Algorithms2IT:274,1
    - Dst: String.format(com.jcraft.jsch.Algorithms2IT,String,String)
      Src: com.jcraft.jsch.Algorithms2IT:275,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:276,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - cipher
    - compression
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 8
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: '[com.jcraft.jsch.Algorithms2IT].testCiphers(String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
    - String.format(com.jcraft.jsch.Algorithms2IT,String,String)
    - '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].testCiphers(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms2IT:287,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms2IT:288,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:289,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:290,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:291,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:292,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:294,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:295,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms2IT:296,1
    - Dst: String.format(com.jcraft.jsch.Algorithms2IT,String,String)
      Src: com.jcraft.jsch.Algorithms2IT:298,1
    - Dst: String.format(com.jcraft.jsch.Algorithms2IT,String,String)
      Src: com.jcraft.jsch.Algorithms2IT:299,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:300,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - mac
    - compression
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 302
      start: 280
    functionDepth: 8
    functionLinenumber: 280
    functionLinenumberEnd: 302
    functionName: '[com.jcraft.jsch.Algorithms2IT].testMACs(String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
    - String.format(com.jcraft.jsch.Algorithms2IT,String,String)
    - '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].testMACs(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms2IT:306,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms2IT:307,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:308,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:309,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms2IT:310,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:314,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 8
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: '[com.jcraft.jsch.Algorithms2IT].testCompressions()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
    - '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].testCompressions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms2IT:321,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms2IT:322,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:323,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:324,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:325,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms2IT:326,1
    - Dst: String.format(com.jcraft.jsch.Algorithms2IT,String,String)
      Src: com.jcraft.jsch.Algorithms2IT:328,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:331,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:332,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - impl
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 334
      start: 318
    functionDepth: 8
    functionLinenumber: 318
    functionLinenumberEnd: 334
    functionName: '[com.jcraft.jsch.Algorithms2IT].testCompressionImpls(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Algorithms2IT].checkLogs(com.jcraft.jsch.Algorithms2IT)'
    - String.format(com.jcraft.jsch.Algorithms2IT,String,String)
    - '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].testCompressionImpls(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].getResourceFile(String)'
      Src: com.jcraft.jsch.Algorithms2IT:337,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].readHostKey(String)'
      Src: com.jcraft.jsch.Algorithms2IT:337,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.Algorithms2IT:338,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].getResourceFile(String)'
      Src: com.jcraft.jsch.Algorithms2IT:339,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].getResourceFile(String)'
      Src: com.jcraft.jsch.Algorithms2IT:339,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.Algorithms2IT:339,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.Algorithms2IT:340,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.Algorithms2IT:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 10
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.Algorithms2IT].readHostKey(String)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].getResourceFile(String)'
      Src: com.jcraft.jsch.Algorithms2IT:345,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].readHostKey(String)'
      Src: com.jcraft.jsch.Algorithms2IT:345,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.Algorithms2IT:346,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].getResourceFile(String)'
      Src: com.jcraft.jsch.Algorithms2IT:347,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].getResourceFile(String)'
      Src: com.jcraft.jsch.Algorithms2IT:347,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.Algorithms2IT:347,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.Algorithms2IT:349,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.Algorithms2IT:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 351
    functionName: '[com.jcraft.jsch.Algorithms2IT].createEd448Identity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.Algorithms2IT].readHostKey(String)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.Algorithms2IT].createEd448Identity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.Algorithms2IT:354,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.Algorithms2IT,com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:354,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].get(int)'
      Src: com.jcraft.jsch.Algorithms2IT:355,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].split(String)'
      Src: com.jcraft.jsch.Algorithms2IT:355,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.Algorithms2IT:357,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.Algorithms2IT:357,1
    - Dst: String.format(com.jcraft.jsch.Algorithms2IT,String,com.jcraft.jsch.Algorithms2IT,com.jcraft.jsch.Algorithms2IT)
      Src: com.jcraft.jsch.Algorithms2IT:357,1
    - Dst: '[java.util.Base64].getDecoder()'
      Src: com.jcraft.jsch.Algorithms2IT:358,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].decode()'
      Src: com.jcraft.jsch.Algorithms2IT:358,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.Algorithms2IT,com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: '[com.jcraft.jsch.Algorithms2IT].readHostKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].split(String)'
    - '[java.nio.file.Paths].get(String)'
    - String.format(com.jcraft.jsch.Algorithms2IT,String,com.jcraft.jsch.Algorithms2IT,com.jcraft.jsch.Algorithms2IT)
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[com.jcraft.jsch.Algorithms2IT].decode()'
    - '[java.util.Base64].getDecoder()'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.Algorithms2IT,com.jcraft.jsch.Algorithms2IT)'
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.Algorithms2IT,com.jcraft.jsch.Algorithms2IT)'
    - '[com.jcraft.jsch.Algorithms2IT].get(int)'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.Algorithms2IT].readHostKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.Algorithms2IT:362,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.Algorithms2IT:362,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.Algorithms2IT,com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:362,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:363,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 366
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 366
    functionName: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 13
    functionsReached:
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.Algorithms2IT,com.jcraft.jsch.Algorithms2IT)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.Algorithms2IT:370,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: com.jcraft.jsch.Algorithms2IT:371,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: com.jcraft.jsch.Algorithms2IT:372,1
    - Dst: sftp.connect(int)
      Src: com.jcraft.jsch.Algorithms2IT:373,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.Algorithms2IT:374,1
    - Dst: sftp.put(com.jcraft.jsch.Algorithms2IT,String)
      Src: com.jcraft.jsch.Algorithms2IT:374,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.Algorithms2IT:375,1
    - Dst: sftp.get(String,com.jcraft.jsch.Algorithms2IT)
      Src: com.jcraft.jsch.Algorithms2IT:375,1
    - Dst: sftp.disconnect()
      Src: com.jcraft.jsch.Algorithms2IT:376,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.Algorithms2IT:377,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].printInfo()'
      Src: com.jcraft.jsch.Algorithms2IT:380,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: com.jcraft.jsch.Algorithms2IT:385,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].assertEquals(int,int,com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:385,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
      Src: com.jcraft.jsch.Algorithms2IT:386,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].assertEquals(String,com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - debugException
    argTypes:
    - com.jcraft.jsch.Session
    - boolean
    constantsTouched: []
    func_position:
      end: 387
      start: 368
    functionDepth: 7
    functionLinenumber: 368
    functionLinenumberEnd: 387
    functionName: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 13
    functionsReached:
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - sftp.put(com.jcraft.jsch.Algorithms2IT,String)
    - '[com.jcraft.jsch.Session].disconnect()'
    - sftp.get(String,com.jcraft.jsch.Algorithms2IT)
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Algorithms2IT].printInfo()'
    - sftp.disconnect()
    - '[java.nio.file.Path].toString()'
    - sftp.connect(int)
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    - '[com.jcraft.jsch.Algorithms2IT].assertEquals(int,int,com.jcraft.jsch.Algorithms2IT)'
    - '[com.jcraft.jsch.Algorithms2IT].assertEquals(String,com.jcraft.jsch.Algorithms2IT)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.Algorithms2IT:390,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].stream()'
      Src: com.jcraft.jsch.Algorithms2IT:390,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].map()'
      Src: com.jcraft.jsch.Algorithms2IT:390,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].forEach()'
      Src: com.jcraft.jsch.Algorithms2IT:390,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.Algorithms2IT:392,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].stream()'
      Src: com.jcraft.jsch.Algorithms2IT:392,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].map()'
      Src: com.jcraft.jsch.Algorithms2IT:392,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].forEach()'
      Src: com.jcraft.jsch.Algorithms2IT:392,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.Algorithms2IT:394,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.Algorithms2IT:395,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.Algorithms2IT:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 397
    functionName: '[com.jcraft.jsch.Algorithms2IT].printInfo()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].map()'
    - '[com.jcraft.jsch.Algorithms2IT].stream()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - System.out.println(String)
    - '[com.jcraft.jsch.Algorithms2IT].forEach()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].printInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.Algorithms2IT:400,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].stream()'
      Src: com.jcraft.jsch.Algorithms2IT:400,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].map()'
      Src: com.jcraft.jsch.Algorithms2IT:400,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].filter()'
      Src: com.jcraft.jsch.Algorithms2IT:400,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].findFirst()'
      Src: com.jcraft.jsch.Algorithms2IT:400,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].isPresent()'
      Src: com.jcraft.jsch.Algorithms2IT:403,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].assertTrue(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:403,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].printInfo()'
      Src: com.jcraft.jsch.Algorithms2IT:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - expected
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 408
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 408
    functionName: '[com.jcraft.jsch.Algorithms2IT].checkLogs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].findFirst()'
    - '[com.jcraft.jsch.Algorithms2IT].filter()'
    - '[com.jcraft.jsch.Algorithms2IT].map()'
    - '[com.jcraft.jsch.Algorithms2IT].stream()'
    - '[com.jcraft.jsch.Algorithms2IT].printInfo()'
    - '[com.jcraft.jsch.Algorithms2IT].isPresent()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - '[com.jcraft.jsch.Algorithms2IT].assertTrue(com.jcraft.jsch.Algorithms2IT)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms2IT].checkLogs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms2IT].getClass()'
      Src: com.jcraft.jsch.Algorithms2IT:411,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.Algorithms2IT,String)'
      Src: com.jcraft.jsch.Algorithms2IT:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: '[com.jcraft.jsch.Algorithms2IT].getResourceFile(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.Algorithms2IT,String)'
    - '[com.jcraft.jsch.Algorithms2IT].getClass()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Algorithms2IT].getResourceFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
      Src: com.jcraft.jsch.Algorithms2IT:44,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:44,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.Algorithms2IT:45,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.Algorithms2IT:46,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms2IT:57,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.Algorithms2IT)'
      Src: com.jcraft.jsch.Algorithms2IT:56,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.Algorithms2IT:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Algorithms2IT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Algorithms2IT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms2IT].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.Algorithms2IT)'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
    - '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.Algorithms2IT)'
    linkageType: ''
    returnType: com.jcraft.jsch.Algorithms2IT
    signature: '[com.jcraft.jsch.Algorithms2IT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].<init>(int)'
      Src: com.jcraft.jsch.PktSize160IT:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.PktSize160IT
      static: false
      superClass: com.jcraft.jsch.AbstractBufferMargin
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 8
    functionDepth: 2
    functionLinenumber: 8
    functionLinenumberEnd: 10
    functionName: '[com.jcraft.jsch.PktSize160IT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/PktSize160IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AbstractBufferMargin].<init>(int)'
    linkageType: ''
    returnType: com.jcraft.jsch.PktSize160IT
    signature: '[com.jcraft.jsch.PktSize160IT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.PktSize160IT].doTestSftp(String,String,String)'
      Src: com.jcraft.jsch.PktSize160IT:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.AbstractBufferMargin
    argCount: 3
    argNames:
    - cipher
    - mac
    - compression
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 18
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 18
    functionName: '[com.jcraft.jsch.PktSize160IT].testSftp(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/PktSize160IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.PktSize160IT].doTestSftp(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PktSize160IT].testSftp(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.PktSize160IT].doTestScp(String,String,String)'
      Src: com.jcraft.jsch.PktSize160IT:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.AbstractBufferMargin
    argCount: 3
    argNames:
    - cipher
    - mac
    - compression
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: '[com.jcraft.jsch.PktSize160IT].testScp(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/PktSize160IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.PktSize160IT].doTestScp(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PktSize160IT].testScp(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].<init>()'
      Src: com.jcraft.jsch.SessionReconnectIT:55,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
      Src: com.jcraft.jsch.SessionReconnectIT:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.SessionReconnectIT].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionReconnectIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Slf4jLogger].<init>()'
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SessionReconnectIT].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
      Src: com.jcraft.jsch.SessionReconnectIT:61,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
      Src: com.jcraft.jsch.SessionReconnectIT:62,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.SessionReconnectIT:65,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.SessionReconnectIT:66,1
    - Dst: '[java.nio.file.Files].createFile(com.jcraft.jsch.SessionReconnectIT)'
      Src: com.jcraft.jsch.SessionReconnectIT:67,1
    - Dst: '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.SessionReconnectIT)'
      Src: com.jcraft.jsch.SessionReconnectIT:68,1
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.SessionReconnectIT:71,1
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.SessionReconnectIT)'
      Src: com.jcraft.jsch.SessionReconnectIT:71,1
    - Dst: os.write(com.jcraft.jsch.SessionReconnectIT)
      Src: com.jcraft.jsch.SessionReconnectIT:72,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.SessionReconnectIT)'
      Src: com.jcraft.jsch.SessionReconnectIT:75,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.SessionReconnectIT:77,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.SessionReconnectIT:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: '[com.jcraft.jsch.SessionReconnectIT].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionReconnectIT.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.SessionReconnectIT)'
    - '[java.nio.file.Path].resolve(String)'
    - '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
    - '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    - '[java.util.Random].nextBytes(com.jcraft.jsch.SessionReconnectIT)'
    - os.write(com.jcraft.jsch.SessionReconnectIT)
    - '[java.nio.file.Files].createFile(com.jcraft.jsch.SessionReconnectIT)'
    - '[java.util.Random].<init>()'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.SessionReconnectIT)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SessionReconnectIT].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.SessionReconnectIT:83,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.SessionReconnectIT:84,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.SessionReconnectIT:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.SessionReconnectIT].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionReconnectIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SessionReconnectIT].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].createRSAIdentity()'
      Src: com.jcraft.jsch.SessionReconnectIT:90,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.SessionReconnectIT:91,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.SessionReconnectIT:93,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].fail(String)'
      Src: com.jcraft.jsch.SessionReconnectIT:94,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.SessionReconnectIT:97,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.SessionReconnectIT:98,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.SessionReconnectIT)'
      Src: com.jcraft.jsch.SessionReconnectIT:99,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.SessionReconnectIT)'
      Src: com.jcraft.jsch.SessionReconnectIT:100,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.SessionReconnectIT:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 8
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: '[com.jcraft.jsch.SessionReconnectIT].testReconnectWithExtraAlgorithms()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionReconnectIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.SessionReconnectIT)'
    - '[com.jcraft.jsch.SessionReconnectIT].fail(String)'
    - '[com.jcraft.jsch.SessionReconnectIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.SessionReconnectIT].createRSAIdentity()'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.SessionReconnectIT].doSftp(com.jcraft.jsch.Session,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SessionReconnectIT].testReconnectWithExtraAlgorithms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SessionReconnectIT:106,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].readHostKey(String)'
      Src: com.jcraft.jsch.SessionReconnectIT:106,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.SessionReconnectIT:107,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SessionReconnectIT:108,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SessionReconnectIT:108,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.SessionReconnectIT:108,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.SessionReconnectIT:109,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.SessionReconnectIT:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: '[com.jcraft.jsch.SessionReconnectIT].createRSAIdentity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionReconnectIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.SessionReconnectIT].readHostKey(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    - '[com.jcraft.jsch.SessionReconnectIT].getResourceFile(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.SessionReconnectIT].createRSAIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.SessionReconnectIT:114,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.SessionReconnectIT,com.jcraft.jsch.SessionReconnectIT)'
      Src: com.jcraft.jsch.SessionReconnectIT:114,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].get(int)'
      Src: com.jcraft.jsch.SessionReconnectIT:115,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].split(String)'
      Src: com.jcraft.jsch.SessionReconnectIT:115,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.SessionReconnectIT:117,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.SessionReconnectIT:117,1
    - Dst: String.format(com.jcraft.jsch.SessionReconnectIT,String,com.jcraft.jsch.SessionReconnectIT,com.jcraft.jsch.SessionReconnectIT)
      Src: com.jcraft.jsch.SessionReconnectIT:117,1
    - Dst: '[java.util.Base64].getDecoder()'
      Src: com.jcraft.jsch.SessionReconnectIT:118,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].decode()'
      Src: com.jcraft.jsch.SessionReconnectIT:118,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.SessionReconnectIT,com.jcraft.jsch.SessionReconnectIT)'
      Src: com.jcraft.jsch.SessionReconnectIT:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: '[com.jcraft.jsch.SessionReconnectIT].readHostKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionReconnectIT.java
    functionUses: 1
    functionsReached:
    - '[java.nio.file.Paths].get(String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.SessionReconnectIT,com.jcraft.jsch.SessionReconnectIT)'
    - '[com.jcraft.jsch.SessionReconnectIT].decode()'
    - String.format(com.jcraft.jsch.SessionReconnectIT,String,com.jcraft.jsch.SessionReconnectIT,com.jcraft.jsch.SessionReconnectIT)
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[com.jcraft.jsch.SessionReconnectIT].get(int)'
    - '[com.jcraft.jsch.SessionReconnectIT].split(String)'
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.SessionReconnectIT,com.jcraft.jsch.SessionReconnectIT)'
    - '[java.util.Base64].getDecoder()'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.SessionReconnectIT].readHostKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.SessionReconnectIT:122,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.SessionReconnectIT:122,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.SessionReconnectIT,com.jcraft.jsch.SessionReconnectIT)'
      Src: com.jcraft.jsch.SessionReconnectIT:122,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SessionReconnectIT:123,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SessionReconnectIT:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: '[com.jcraft.jsch.SessionReconnectIT].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionReconnectIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.SessionReconnectIT,com.jcraft.jsch.SessionReconnectIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.SessionReconnectIT].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.SessionReconnectIT:130,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: com.jcraft.jsch.SessionReconnectIT:131,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: com.jcraft.jsch.SessionReconnectIT:132,1
    - Dst: sftp.connect(int)
      Src: com.jcraft.jsch.SessionReconnectIT:133,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.SessionReconnectIT:134,1
    - Dst: sftp.put(com.jcraft.jsch.SessionReconnectIT,String)
      Src: com.jcraft.jsch.SessionReconnectIT:134,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.SessionReconnectIT:135,1
    - Dst: sftp.get(String,com.jcraft.jsch.SessionReconnectIT)
      Src: com.jcraft.jsch.SessionReconnectIT:135,1
    - Dst: sftp.disconnect()
      Src: com.jcraft.jsch.SessionReconnectIT:136,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.SessionReconnectIT:137,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].printInfo()'
      Src: com.jcraft.jsch.SessionReconnectIT:140,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: com.jcraft.jsch.SessionReconnectIT:145,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].assertEquals(int,int,com.jcraft.jsch.SessionReconnectIT)'
      Src: com.jcraft.jsch.SessionReconnectIT:145,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
      Src: com.jcraft.jsch.SessionReconnectIT:146,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].assertEquals(String,com.jcraft.jsch.SessionReconnectIT)'
      Src: com.jcraft.jsch.SessionReconnectIT:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - debugException
    argTypes:
    - com.jcraft.jsch.Session
    - boolean
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 7
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: '[com.jcraft.jsch.SessionReconnectIT].doSftp(com.jcraft.jsch.Session,boolean)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionReconnectIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.SessionReconnectIT].assertEquals(String,com.jcraft.jsch.SessionReconnectIT)'
    - '[com.jcraft.jsch.Session].disconnect()'
    - sftp.put(com.jcraft.jsch.SessionReconnectIT,String)
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - '[com.jcraft.jsch.SessionReconnectIT].assertEquals(int,int,com.jcraft.jsch.SessionReconnectIT)'
    - '[com.jcraft.jsch.SessionReconnectIT].printInfo()'
    - '[com.jcraft.jsch.Session].connect()'
    - sftp.get(String,com.jcraft.jsch.SessionReconnectIT)
    - '[java.nio.file.Path].toString()'
    - sftp.connect(int)
    - sftp.disconnect()
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SessionReconnectIT].doSftp(com.jcraft.jsch.Session,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.SessionReconnectIT:150,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].stream()'
      Src: com.jcraft.jsch.SessionReconnectIT:150,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].map()'
      Src: com.jcraft.jsch.SessionReconnectIT:150,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].forEach()'
      Src: com.jcraft.jsch.SessionReconnectIT:150,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.SessionReconnectIT:152,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].stream()'
      Src: com.jcraft.jsch.SessionReconnectIT:152,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].map()'
      Src: com.jcraft.jsch.SessionReconnectIT:152,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].forEach()'
      Src: com.jcraft.jsch.SessionReconnectIT:152,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.SessionReconnectIT:154,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.SessionReconnectIT:155,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.SessionReconnectIT:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: '[com.jcraft.jsch.SessionReconnectIT].printInfo()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionReconnectIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.SessionReconnectIT].map()'
    - '[com.jcraft.jsch.SessionReconnectIT].stream()'
    - '[com.jcraft.jsch.SessionReconnectIT].forEach()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SessionReconnectIT].printInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].getClass()'
      Src: com.jcraft.jsch.SessionReconnectIT:160,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.SessionReconnectIT,String)'
      Src: com.jcraft.jsch.SessionReconnectIT:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: '[com.jcraft.jsch.SessionReconnectIT].getResourceFile(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionReconnectIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.SessionReconnectIT,String)'
    - '[com.jcraft.jsch.SessionReconnectIT].getClass()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.SessionReconnectIT].getResourceFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
      Src: com.jcraft.jsch.SessionReconnectIT:35,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.SessionReconnectIT)'
      Src: com.jcraft.jsch.SessionReconnectIT:35,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.SessionReconnectIT:36,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.SessionReconnectIT:38,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.SessionReconnectIT:48,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SessionReconnectIT:48,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SessionReconnectIT:48,1
    - Dst: '[com.jcraft.jsch.SessionReconnectIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SessionReconnectIT:48,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.SessionReconnectIT)'
      Src: com.jcraft.jsch.SessionReconnectIT:48,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.SessionReconnectIT:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SessionReconnectIT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.SessionReconnectIT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionReconnectIT.java
    functionUses: 0
    functionsReached:
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
    - '[com.jcraft.jsch.SessionReconnectIT].withFileFromClasspath(String,String)'
    - '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
    - '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.SessionReconnectIT)'
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.SessionReconnectIT)'
    linkageType: ''
    returnType: com.jcraft.jsch.SessionReconnectIT
    signature: '[com.jcraft.jsch.SessionReconnectIT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].<init>()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:71,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSH74ServerSigAlgsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Slf4jLogger].<init>()'
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:77,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:78,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:81,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:82,1
    - Dst: '[java.nio.file.Files].createFile(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:83,1
    - Dst: '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:84,1
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:87,1
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:87,1
    - Dst: os.write(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:88,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:91,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:93,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSH74ServerSigAlgsIT.java
    functionUses: 0
    functionsReached:
    - '[java.util.Random].nextBytes(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
    - '[java.nio.file.Path].resolve(String)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
    - '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    - '[java.nio.file.Files].createFile(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
    - os.write(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)
    - '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
    - '[java.util.Random].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:99,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:100,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSH74ServerSigAlgsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].createRSAIdentity()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:108,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:109,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:110,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:111,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:112,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].checkLogs(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:126,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].checkLogs(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:127,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].checkLogs(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:128,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].checkLogs(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:129,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].checkLogs(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:130,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].checkLogs(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:131,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].checkLogs(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:132,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].checkLogs(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 104
    functionDepth: 8
    functionLinenumber: 104
    functionLinenumberEnd: 134
    functionName: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].testServerSigAlgs()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSH74ServerSigAlgsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].checkLogs(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].createRSAIdentity()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].testServerSigAlgs()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:137,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].readHostKey(String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:137,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:138,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:139,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:139,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:139,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:140,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].createRSAIdentity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSH74ServerSigAlgsIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].readHostKey(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].createRSAIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:145,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:145,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].get(int)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:146,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].split(String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:146,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:148,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:148,1
    - Dst: String.format(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT,String,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:148,1
    - Dst: '[java.util.Base64].getDecoder()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:149,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].decode()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:149,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].readHostKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSH74ServerSigAlgsIT.java
    functionUses: 1
    functionsReached:
    - '[java.nio.file.Paths].get(String)'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].split(String)'
    - String.format(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT,String,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].decode()'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].get(int)'
    - '[java.util.Base64].getDecoder()'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].readHostKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:153,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:153,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:153,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:154,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSH74ServerSigAlgsIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:161,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:162,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:163,1
    - Dst: sftp.connect(int)
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:164,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:165,1
    - Dst: sftp.put(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT,String)
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:165,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:166,1
    - Dst: sftp.get(String,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:166,1
    - Dst: sftp.disconnect()
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:167,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:168,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].printInfo()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:171,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:176,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].assertEquals(int,int,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:176,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:177,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].assertEquals(String,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - debugException
    argTypes:
    - com.jcraft.jsch.Session
    - boolean
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 7
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSH74ServerSigAlgsIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].assertEquals(int,int,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - sftp.get(String,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].assertEquals(String,com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
    - '[com.jcraft.jsch.Session].connect()'
    - sftp.disconnect()
    - '[java.nio.file.Path].toString()'
    - sftp.connect(int)
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
    - sftp.put(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT,String)
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].printInfo()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].doSftp(com.jcraft.jsch.Session,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:181,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].stream()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:181,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].map()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:181,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].forEach()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:181,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:183,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].stream()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:183,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].map()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:183,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].forEach()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:183,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:185,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:186,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].printInfo()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSH74ServerSigAlgsIT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].map()'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].forEach()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - System.out.println(String)
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].stream()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].printInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:191,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].stream()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:191,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].map()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:191,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].filter()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:191,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].findFirst()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:191,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].isPresent()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:194,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].assertTrue(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:194,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].printInfo()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - expected
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].checkLogs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSH74ServerSigAlgsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].map()'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].findFirst()'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].filter()'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].assertTrue(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].isPresent()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].stream()'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].printInfo()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].checkLogs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].getClass()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:202,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].getResourceFile(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSH74ServerSigAlgsIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].getClass()'
    - '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT,String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].getResourceFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:38,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:38,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:39,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:41,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:52,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:51,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSH74ServerSigAlgsIT.java
    functionUses: 0
    functionsReached:
    - '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.OpenSSH74ServerSigAlgsIT)'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
    - '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
    linkageType: ''
    returnType: com.jcraft.jsch.OpenSSH74ServerSigAlgsIT
    signature: '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].<init>()'
      Src: com.jcraft.jsch.UserAuthIT:68,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
      Src: com.jcraft.jsch.UserAuthIT:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[com.jcraft.jsch.UserAuthIT].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Slf4jLogger].<init>()'
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.UserAuthIT].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
      Src: com.jcraft.jsch.UserAuthIT:74,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
      Src: com.jcraft.jsch.UserAuthIT:75,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.UserAuthIT:78,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.UserAuthIT:79,1
    - Dst: '[java.nio.file.Files].createFile(com.jcraft.jsch.UserAuthIT)'
      Src: com.jcraft.jsch.UserAuthIT:80,1
    - Dst: '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.UserAuthIT)'
      Src: com.jcraft.jsch.UserAuthIT:81,1
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.UserAuthIT:84,1
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.UserAuthIT)'
      Src: com.jcraft.jsch.UserAuthIT:84,1
    - Dst: os.write(com.jcraft.jsch.UserAuthIT)
      Src: com.jcraft.jsch.UserAuthIT:85,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.UserAuthIT)'
      Src: com.jcraft.jsch.UserAuthIT:88,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.UserAuthIT:90,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.UserAuthIT:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 92
    functionName: '[com.jcraft.jsch.UserAuthIT].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
    functionUses: 0
    functionsReached:
    - os.write(com.jcraft.jsch.UserAuthIT)
    - '[java.nio.file.Path].resolve(String)'
    - '[java.nio.file.Files].createFile(com.jcraft.jsch.UserAuthIT)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.UserAuthIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
    - '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    - '[java.util.Random].nextBytes(com.jcraft.jsch.UserAuthIT)'
    - '[java.util.Random].<init>()'
    - '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.UserAuthIT)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.UserAuthIT].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.UserAuthIT:96,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.UserAuthIT:97,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.UserAuthIT:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: '[com.jcraft.jsch.UserAuthIT].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.UserAuthIT].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UserAuthIT].createRSAIdentity()'
      Src: com.jcraft.jsch.UserAuthIT:103,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.UserAuthIT:104,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:105,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:106,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.UserAuthIT:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: '[com.jcraft.jsch.UserAuthIT].testAuthNoneEnabledPubkeyAuthQueryEnabled()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.UserAuthIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.UserAuthIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.UserAuthIT].createRSAIdentity()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.UserAuthIT].testAuthNoneEnabledPubkeyAuthQueryEnabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UserAuthIT].createRSAIdentity()'
      Src: com.jcraft.jsch.UserAuthIT:112,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.UserAuthIT:113,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:114,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:115,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.UserAuthIT:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: '[com.jcraft.jsch.UserAuthIT].testAuthNoneEnabledPubkeyAuthQueryDisabled()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.UserAuthIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.UserAuthIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.UserAuthIT].createRSAIdentity()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.UserAuthIT].testAuthNoneEnabledPubkeyAuthQueryDisabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UserAuthIT].createRSAIdentity()'
      Src: com.jcraft.jsch.UserAuthIT:121,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.UserAuthIT:122,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:123,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:124,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.UserAuthIT:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: '[com.jcraft.jsch.UserAuthIT].testAuthNoneDisabledPubkeyAuthQueryEnabled()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.UserAuthIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.UserAuthIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.UserAuthIT].createRSAIdentity()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.UserAuthIT].testAuthNoneDisabledPubkeyAuthQueryEnabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UserAuthIT].createRSAIdentity()'
      Src: com.jcraft.jsch.UserAuthIT:130,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.UserAuthIT:131,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:132,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:133,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.UserAuthIT:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: '[com.jcraft.jsch.UserAuthIT].testAuthNoneDisabledPubkeyAuthQueryDisabled()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.UserAuthIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.UserAuthIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.UserAuthIT].createRSAIdentity()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.UserAuthIT].testAuthNoneDisabledPubkeyAuthQueryDisabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UserAuthIT].getResourceFile(String)'
      Src: com.jcraft.jsch.UserAuthIT:138,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].readHostKey(String)'
      Src: com.jcraft.jsch.UserAuthIT:138,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.UserAuthIT:139,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].getResourceFile(String)'
      Src: com.jcraft.jsch.UserAuthIT:140,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].getResourceFile(String)'
      Src: com.jcraft.jsch.UserAuthIT:140,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.UserAuthIT:140,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.UserAuthIT:141,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.UserAuthIT:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: '[com.jcraft.jsch.UserAuthIT].createRSAIdentity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.UserAuthIT].readHostKey(String)'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.UserAuthIT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.UserAuthIT].createRSAIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.UserAuthIT:146,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.UserAuthIT,com.jcraft.jsch.UserAuthIT)'
      Src: com.jcraft.jsch.UserAuthIT:146,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].get(int)'
      Src: com.jcraft.jsch.UserAuthIT:147,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].split(String)'
      Src: com.jcraft.jsch.UserAuthIT:147,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.UserAuthIT:149,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.UserAuthIT:149,1
    - Dst: String.format(com.jcraft.jsch.UserAuthIT,String,com.jcraft.jsch.UserAuthIT,com.jcraft.jsch.UserAuthIT)
      Src: com.jcraft.jsch.UserAuthIT:149,1
    - Dst: '[java.util.Base64].getDecoder()'
      Src: com.jcraft.jsch.UserAuthIT:150,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].decode()'
      Src: com.jcraft.jsch.UserAuthIT:150,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.UserAuthIT,com.jcraft.jsch.UserAuthIT)'
      Src: com.jcraft.jsch.UserAuthIT:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: '[com.jcraft.jsch.UserAuthIT].readHostKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
    functionUses: 1
    functionsReached:
    - '[java.nio.file.Paths].get(String)'
    - '[com.jcraft.jsch.UserAuthIT].split(String)'
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.UserAuthIT,com.jcraft.jsch.UserAuthIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - String.format(com.jcraft.jsch.UserAuthIT,String,com.jcraft.jsch.UserAuthIT,com.jcraft.jsch.UserAuthIT)
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.UserAuthIT,com.jcraft.jsch.UserAuthIT)'
    - '[com.jcraft.jsch.UserAuthIT].get(int)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[com.jcraft.jsch.UserAuthIT].decode()'
    - '[java.util.Base64].getDecoder()'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.UserAuthIT].readHostKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.UserAuthIT:154,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.UserAuthIT:154,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.UserAuthIT,com.jcraft.jsch.UserAuthIT)'
      Src: com.jcraft.jsch.UserAuthIT:154,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:155,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: '[com.jcraft.jsch.UserAuthIT].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.UserAuthIT,com.jcraft.jsch.UserAuthIT)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.UserAuthIT].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UserAuthIT].assertDoesNotThrow()'
      Src: com.jcraft.jsch.UserAuthIT:161,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: com.jcraft.jsch.UserAuthIT:179,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].assertEquals(int,int,com.jcraft.jsch.UserAuthIT)'
      Src: com.jcraft.jsch.UserAuthIT:179,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
      Src: com.jcraft.jsch.UserAuthIT:180,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].assertEquals(String,com.jcraft.jsch.UserAuthIT)'
      Src: com.jcraft.jsch.UserAuthIT:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - debugException
    argTypes:
    - com.jcraft.jsch.Session
    - boolean
    constantsTouched: []
    func_position:
      end: 181
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 181
    functionName: '[com.jcraft.jsch.UserAuthIT].doSftp(com.jcraft.jsch.Session,boolean)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.UserAuthIT].assertEquals(int,int,com.jcraft.jsch.UserAuthIT)'
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - '[com.jcraft.jsch.UserAuthIT].assertDoesNotThrow()'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
    - '[com.jcraft.jsch.UserAuthIT].assertEquals(String,com.jcraft.jsch.UserAuthIT)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.UserAuthIT].doSftp(com.jcraft.jsch.Session,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.UserAuthIT:184,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].stream()'
      Src: com.jcraft.jsch.UserAuthIT:184,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].map()'
      Src: com.jcraft.jsch.UserAuthIT:184,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].forEach()'
      Src: com.jcraft.jsch.UserAuthIT:184,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.UserAuthIT:186,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].stream()'
      Src: com.jcraft.jsch.UserAuthIT:186,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].map()'
      Src: com.jcraft.jsch.UserAuthIT:186,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].forEach()'
      Src: com.jcraft.jsch.UserAuthIT:186,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.UserAuthIT:188,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.UserAuthIT:189,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.UserAuthIT:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: '[com.jcraft.jsch.UserAuthIT].printInfo()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.UserAuthIT].forEach()'
    - '[com.jcraft.jsch.UserAuthIT].stream()'
    - '[com.jcraft.jsch.UserAuthIT].map()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.UserAuthIT].printInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UserAuthIT].getClass()'
      Src: com.jcraft.jsch.UserAuthIT:194,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.UserAuthIT,String)'
      Src: com.jcraft.jsch.UserAuthIT:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '[com.jcraft.jsch.UserAuthIT].getResourceFile(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.UserAuthIT].getClass()'
    - '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.UserAuthIT,String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.UserAuthIT].getResourceFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
      Src: com.jcraft.jsch.UserAuthIT:35,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.UserAuthIT)'
      Src: com.jcraft.jsch.UserAuthIT:35,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.UserAuthIT:36,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.UserAuthIT:38,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.UserAuthIT:49,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.UserAuthIT)'
      Src: com.jcraft.jsch.UserAuthIT:48,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.UserAuthIT:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.UserAuthIT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.UserAuthIT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
    functionUses: 0
    functionsReached:
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.UserAuthIT)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[com.jcraft.jsch.UserAuthIT].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.UserAuthIT)'
    - '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
    - '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
    linkageType: ''
    returnType: com.jcraft.jsch.UserAuthIT
    signature: '[com.jcraft.jsch.UserAuthIT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ClassLoader.getSystemResource(String)
      Src: com.jcraft.jsch.OpenSSHConfigTest:25,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].toURI()'
      Src: com.jcraft.jsch.OpenSSHConfigTest:25,1
    - Dst: '[java.nio.file.Paths].get(com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:25,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].toFile()'
      Src: com.jcraft.jsch.OpenSSHConfigTest:25,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].getAbsolutePath()'
      Src: com.jcraft.jsch.OpenSSHConfigTest:25,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].parseFile(com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:26,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:27,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertNotNull(Config)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:28,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getUser()'
      Src: com.jcraft.jsch.OpenSSHConfigTest:29,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:29,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getHostname()'
      Src: com.jcraft.jsch.OpenSSHConfigTest:30,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:30,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:31,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 6
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.OpenSSHConfigTest].parseFile()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSHConfigTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfig].parseFile(com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfigTest].toURI()'
    - '[com.jcraft.jsch.OpenSSHConfigTest].getAbsolutePath()'
    - '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
    - '[com.jcraft.jsch.OpenSSHConfigTest].assertNotNull(Config)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getHostname()'
    - '[com.jcraft.jsch.ConfigRepository.Config].getUser()'
    - '[com.jcraft.jsch.OpenSSHConfigTest].toFile()'
    - '[java.nio.file.Paths].get(com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
    - ClassLoader.getSystemResource(String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfigTest].parseFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:37,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:38,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:39,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:39,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:40,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 6
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.OpenSSHConfigTest].parseMacsCaseInsensitive(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSHConfigTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
    - '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfigTest].parseMacsCaseInsensitive(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:45,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:46,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:47,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.OpenSSHConfigTest].appendKexAlgorithms()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSHConfigTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
    - '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfigTest].appendKexAlgorithms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:54,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:55,1
    - Dst: '[String].toUpperCase(com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:56,1
    - Dst: '[java.util.Map<String,String>].get(com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:56,1
    - Dst: '[java.util.Optional].ofNullable(com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:56,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].orElse(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:56,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:58,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 6
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: '[com.jcraft.jsch.OpenSSHConfigTest].appendAlgorithms(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSHConfigTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
    - '[java.util.Optional].ofNullable(com.jcraft.jsch.OpenSSHConfigTest)'
    - '[String].toUpperCase(com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getValue(com.jcraft.jsch.OpenSSHConfigTest)'
    - '[java.util.Map<String,String>].get(com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfigTest].orElse(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfigTest].appendAlgorithms(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:65,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:66,1
    - Dst: '[String].toUpperCase(com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:67,1
    - Dst: '[java.util.Map<String,String>].get(com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:67,1
    - Dst: '[java.util.Optional].ofNullable(com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:67,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].orElse(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:67,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:68,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:68,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 6
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: '[com.jcraft.jsch.OpenSSHConfigTest].prependAlgorithms(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSHConfigTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
    - '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.OpenSSHConfigTest)'
    - '[java.util.Optional].ofNullable(com.jcraft.jsch.OpenSSHConfigTest)'
    - '[String].toUpperCase(com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getValue(com.jcraft.jsch.OpenSSHConfigTest)'
    - '[java.util.Map<String,String>].get(com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfigTest].orElse(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfigTest].prependAlgorithms(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:73,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:74,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:75,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:75,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.OpenSSHConfigTest].prependKexAlgorithms()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSHConfigTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
    - '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfigTest].prependKexAlgorithms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:80,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:81,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:82,1
    - Dst: '[String].replaceAll(String,String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:82,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:82,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(com.jcraft.jsch.OpenSSHConfigTest,com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 6
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: '[com.jcraft.jsch.OpenSSHConfigTest].removeKexAlgorithm()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSHConfigTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
    - '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[String].replaceAll(String,String)'
    - '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(com.jcraft.jsch.OpenSSHConfigTest,com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfigTest].removeKexAlgorithm()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:87,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:88,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:89,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 6
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: '[com.jcraft.jsch.OpenSSHConfigTest].replaceKexAlgorithms()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSHConfigTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
    - '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfigTest].replaceKexAlgorithms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ClassLoader.getSystemResource(String)
      Src: com.jcraft.jsch.OpenSSHConfigTest:95,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].toURI()'
      Src: com.jcraft.jsch.OpenSSHConfigTest:95,1
    - Dst: '[java.nio.file.Paths].get(com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:95,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].toFile()'
      Src: com.jcraft.jsch.OpenSSHConfigTest:95,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].getAbsolutePath()'
      Src: com.jcraft.jsch.OpenSSHConfigTest:95,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].parseFile(com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:97,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertUserEquals(com.jcraft.jsch.OpenSSHConfig,String,String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:99,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertUserEquals(com.jcraft.jsch.OpenSSHConfig,String,String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:100,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertUserEquals(com.jcraft.jsch.OpenSSHConfig,String,String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:101,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertUserEquals(com.jcraft.jsch.OpenSSHConfig,String,String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 7
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: '[com.jcraft.jsch.OpenSSHConfigTest].parseFileWithNegations()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSHConfigTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfig].parseFile(com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfigTest].toURI()'
    - '[com.jcraft.jsch.OpenSSHConfigTest].getAbsolutePath()'
    - '[com.jcraft.jsch.OpenSSHConfigTest].toFile()'
    - '[java.nio.file.Paths].get(com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfigTest].assertUserEquals(com.jcraft.jsch.OpenSSHConfig,String,String)'
    - ClassLoader.getSystemResource(String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfigTest].parseFileWithNegations()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:108,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:109,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:110,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - configKey
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 6
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: '[com.jcraft.jsch.OpenSSHConfigTest].timeoutsAreConvertedToMs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSHConfigTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
    - '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest)'
    - '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfigTest].timeoutsAreConvertedToMs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:114,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertNotNull(Config)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:115,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getUser()'
      Src: com.jcraft.jsch.OpenSSHConfigTest:116,1
    - Dst: String.format(com.jcraft.jsch.OpenSSHConfigTest,String,String,String,com.jcraft.jsch.OpenSSHConfigTest)
      Src: com.jcraft.jsch.OpenSSHConfigTest:117,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest,com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.OpenSSHConfig
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - openSSHConfig
    - host
    - expected
    argTypes:
    - com.jcraft.jsch.OpenSSHConfig
    - String
    - String
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 6
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: '[com.jcraft.jsch.OpenSSHConfigTest].assertUserEquals(com.jcraft.jsch.OpenSSHConfig,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSHConfigTest.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
    - String.format(com.jcraft.jsch.OpenSSHConfigTest,String,String,String,com.jcraft.jsch.OpenSSHConfigTest)
    - '[com.jcraft.jsch.OpenSSHConfigTest].assertNotNull(Config)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getUser()'
    - '[com.jcraft.jsch.OpenSSHConfigTest].assertEquals(String,com.jcraft.jsch.OpenSSHConfigTest,com.jcraft.jsch.OpenSSHConfigTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfigTest].assertUserEquals(com.jcraft.jsch.OpenSSHConfig,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].getKeymap()'
      Src: com.jcraft.jsch.OpenSSHConfigTest:19,1
    - Dst: '[java.util.Hashtable<String,String>].entrySet()'
      Src: com.jcraft.jsch.OpenSSHConfigTest:19,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].stream()'
      Src: com.jcraft.jsch.OpenSSHConfigTest:19,1
    - Dst: '[java.util.stream.Collectors].toMap()'
      Src: com.jcraft.jsch.OpenSSHConfigTest:19,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfigTest].collect(com.jcraft.jsch.OpenSSHConfigTest)'
      Src: com.jcraft.jsch.OpenSSHConfigTest:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.OpenSSHConfigTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.OpenSSHConfigTest].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSHConfigTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfigTest].collect(com.jcraft.jsch.OpenSSHConfigTest)'
    - '[java.util.Hashtable<String,String>].entrySet()'
    - '[java.util.stream.Collectors].toMap()'
    - '[com.jcraft.jsch.OpenSSHConfigTest].stream()'
    - '[com.jcraft.jsch.OpenSSHConfig].getKeymap()'
    linkageType: ''
    returnType: com.jcraft.jsch.OpenSSHConfigTest
    signature: '[com.jcraft.jsch.OpenSSHConfigTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.github.valfirst.slf4jtest.TestLogger
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.Slf4jLoggerTest].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Slf4jLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Slf4jLoggerTest].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.github.valfirst.slf4jtest.TestLogger
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.Slf4jLoggerTest].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Slf4jLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Slf4jLoggerTest].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].<init>()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:49,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].setEnabledLevelsForAllThreads(java.util.Set<org.slf4j.event.Level>)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:51,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:52,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:52,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:53,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:53,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:54,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:54,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:55,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:55,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:56,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:56,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:57,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:57,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].setEnabledLevelsForAllThreads(java.util.Set<org.slf4j.event.Level>)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:59,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:60,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:60,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:61,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:61,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:62,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:62,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:63,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:63,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:64,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:64,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:65,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:65,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].setEnabledLevelsForAllThreads(java.util.Set<org.slf4j.event.Level>)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:67,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:68,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:68,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:69,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:69,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:70,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:70,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:71,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:71,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:72,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:72,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:73,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:73,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].setEnabledLevelsForAllThreads(java.util.Set<org.slf4j.event.Level>)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:75,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:76,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:76,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:77,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:77,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:78,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:78,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:79,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:79,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:80,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:80,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:81,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:81,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].setEnabledLevelsForAllThreads(java.util.Set<org.slf4j.event.Level>)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:83,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:84,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:84,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:85,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:85,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:86,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:86,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:87,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:87,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:88,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:88,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:89,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:89,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].setEnabledLevelsForAllThreads(java.util.Set<org.slf4j.event.Level>)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:91,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:92,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:92,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:93,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:93,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:94,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:94,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:95,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:95,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:96,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:96,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:97,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 85
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.github.valfirst.slf4jtest.TestLogger
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 98
    functionName: '[com.jcraft.jsch.Slf4jLoggerTest].testIsEnabled()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Slf4jLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Slf4jLogger].<init>()'
    - '[com.jcraft.jsch.Slf4jLogger].isEnabled(com.jcraft.jsch.Slf4jLoggerTest)'
    - '[com.jcraft.jsch.Slf4jLoggerTest].assertFalse(boolean,String)'
    - '[com.jcraft.jsch.Slf4jLoggerTest].assertTrue(boolean,String)'
    - '[com.jcraft.jsch.Slf4jLogger].isEnabled()'
    - '[com.github.valfirst.slf4jtest.TestLogger].setEnabledLevelsForAllThreads(java.util.Set<org.slf4j.event.Level>)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Slf4jLoggerTest].testIsEnabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].<init>()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:102,1
    - Dst: '[java.util.Arrays].asList(String,String,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:105,1
    - Dst: '[java.util.Optional].empty()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:107,1
    - Dst: '[java.util.Optional].ofNullable(null)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:107,1
    - Dst: '[java.util.Optional].of(Exception)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:107,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:107,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].setEnabledLevelsForAllThreads(java.util.Set<org.slf4j.event.Level>)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:109,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].log(String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:110,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].log(String,null)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:111,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].log(String,Exception)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:112,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].checkMessages(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:113,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].setEnabledLevelsForAllThreads(java.util.Set<org.slf4j.event.Level>)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:115,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].log(com.jcraft.jsch.Slf4jLoggerTest,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:116,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].log(com.jcraft.jsch.Slf4jLoggerTest,String,null)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:117,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].log(com.jcraft.jsch.Slf4jLoggerTest,String,Exception)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:118,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].checkMessages(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:119,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].setEnabledLevelsForAllThreads(java.util.Set<org.slf4j.event.Level>)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:121,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].log(String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:122,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].log(String,null)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:123,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].log(String,Exception)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:124,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:125,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:125,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].checkMessages(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:125,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].setEnabledLevelsForAllThreads(java.util.Set<org.slf4j.event.Level>)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:127,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].log(com.jcraft.jsch.Slf4jLoggerTest,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:128,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].log(com.jcraft.jsch.Slf4jLoggerTest,String,null)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:129,1
    - Dst: '[com.jcraft.jsch.Slf4jLogger].log(com.jcraft.jsch.Slf4jLoggerTest,String,Exception)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:130,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].checkMessages(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.github.valfirst.slf4jtest.TestLogger
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 132
    functionName: '[com.jcraft.jsch.Slf4jLoggerTest].testLogging()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Slf4jLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
    - '[com.jcraft.jsch.Slf4jLogger].<init>()'
    - '[java.util.Optional].ofNullable(null)'
    - '[java.util.Collections].emptyList()'
    - '[java.util.Arrays].asList(String,String,String)'
    - '[com.jcraft.jsch.Slf4jLoggerTest].checkMessages(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
    - '[com.jcraft.jsch.Slf4jLogger].log(com.jcraft.jsch.Slf4jLoggerTest,String,null)'
    - '[java.util.Optional].empty()'
    - '[com.jcraft.jsch.Slf4jLogger].log(com.jcraft.jsch.Slf4jLoggerTest,String)'
    - '[com.jcraft.jsch.Slf4jLogger].log(String,null)'
    - '[com.jcraft.jsch.Slf4jLogger].log(String,Exception)'
    - '[com.jcraft.jsch.Slf4jLogger].log(String)'
    - '[java.util.Optional].of(Exception)'
    - '[com.jcraft.jsch.Slf4jLogger].log(com.jcraft.jsch.Slf4jLoggerTest,String,Exception)'
    - '[com.github.valfirst.slf4jtest.TestLogger].setEnabledLevelsForAllThreads(java.util.Set<org.slf4j.event.Level>)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Slf4jLoggerTest].testLogging()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:136,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:137,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].stream()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:139,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].map()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:139,1
    - Dst: '[java.util.stream.Collectors].toList()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:139,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].collect(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:139,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].stream()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:141,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].map()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:141,1
    - Dst: '[java.util.stream.Collectors].toList()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:141,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].collect(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:141,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertEquals(java.util.List<String>,com.jcraft.jsch.Slf4jLoggerTest,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:142,1
    - Dst: '[com.jcraft.jsch.Slf4jLoggerTest].assertEquals(java.util.List<java.util.Optional<Throwable>>,com.jcraft.jsch.Slf4jLoggerTest,String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<String>
      - java.util.List<java.util.Optional<Throwable>>
      classConcrete: true
      classEnum: false
      classFields:
      - com.github.valfirst.slf4jtest.TestLogger
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - expectedMessages
    - expectedExceptions
    argTypes:
    - java.util.List<String>
    - java.util.List<java.util.Optional<Throwable>>
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: '[com.jcraft.jsch.Slf4jLoggerTest].checkMessages(java.util.List<String>,java.util.List<java.util.Optional<Throwable>>)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Slf4jLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Slf4jLoggerTest].stream()'
    - '[com.jcraft.jsch.Slf4jLoggerTest].map()'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    - '[com.jcraft.jsch.Slf4jLoggerTest].assertEquals(java.util.List<java.util.Optional<Throwable>>,com.jcraft.jsch.Slf4jLoggerTest,String)'
    - '[com.jcraft.jsch.Slf4jLoggerTest].collect(com.jcraft.jsch.Slf4jLoggerTest)'
    - '[com.jcraft.jsch.Slf4jLoggerTest].assertEquals(java.util.List<String>,com.jcraft.jsch.Slf4jLoggerTest,String)'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - '[java.util.stream.Collectors].toList()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Slf4jLoggerTest].checkMessages(java.util.List<String>,java.util.List<java.util.Optional<Throwable>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:24,1
    - Dst: '[java.util.EnumSet].noneOf()'
      Src: com.jcraft.jsch.Slf4jLoggerTest:26,1
    - Dst: '[java.util.EnumSet].of(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:28,1
    - Dst: '[java.util.EnumSet].of(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:30,1
    - Dst: '[java.util.EnumSet].of(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:31,1
    - Dst: '[java.util.EnumSet].of(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:32,1
    - Dst: '[java.util.EnumSet].of(com.jcraft.jsch.Slf4jLoggerTest)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:33,1
    - Dst: '[Exception].<init>(String)'
      Src: com.jcraft.jsch.Slf4jLoggerTest:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.github.valfirst.slf4jtest.TestLogger
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - java.util.Set<org.slf4j.event.Level>
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Slf4jLoggerTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Slf4jLoggerTest].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Slf4jLoggerTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.EnumSet].of(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
    - '[Exception].<init>(String)'
    - '[java.util.EnumSet].of(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
    - '[java.util.EnumSet].of(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
    - '[java.util.EnumSet].of(com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest,com.jcraft.jsch.Slf4jLoggerTest)'
    - '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
    - '[java.util.EnumSet].of(com.jcraft.jsch.Slf4jLoggerTest)'
    - '[java.util.EnumSet].noneOf()'
    linkageType: ''
    returnType: com.jcraft.jsch.Slf4jLoggerTest
    signature: '[com.jcraft.jsch.Slf4jLoggerTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:89,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
      Src: com.jcraft.jsch.SSHAgentIT:89,1
    - Dst: libc.getuid()
      Src: com.jcraft.jsch.SSHAgentIT:91,1
    - Dst: Integer.toString(com.jcraft.jsch.SSHAgentIT)
      Src: com.jcraft.jsch.SSHAgentIT:91,1
    - Dst: libc.getgid()
      Src: com.jcraft.jsch.SSHAgentIT:92,1
    - Dst: Integer.toString(com.jcraft.jsch.SSHAgentIT)
      Src: com.jcraft.jsch.SSHAgentIT:92,1
    - Dst: '[java.nio.file.Files].createTempDirectory(java.nio.file.Path,String)'
      Src: com.jcraft.jsch.SSHAgentIT:93,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].resolve(String)'
      Src: com.jcraft.jsch.SSHAgentIT:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: '[com.jcraft.jsch.SSHAgentIT].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - Integer.toString(com.jcraft.jsch.SSHAgentIT)
    - '[com.jcraft.jsch.Slf4jLogger].<init>()'
    - libc.getuid()
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
    - '[java.nio.file.Files].createTempDirectory(java.nio.file.Path,String)'
    - '[com.jcraft.jsch.SSHAgentIT].resolve(String)'
    - libc.getgid()
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
      Src: com.jcraft.jsch.SSHAgentIT:100,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
      Src: com.jcraft.jsch.SSHAgentIT:101,1
    - Dst: '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
      Src: com.jcraft.jsch.SSHAgentIT:105,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
      Src: com.jcraft.jsch.SSHAgentIT:106,1
    - Dst: '[java.nio.file.Files].createTempDirectory(java.nio.file.Path,String)'
      Src: com.jcraft.jsch.SSHAgentIT:109,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].resolve(String)'
      Src: com.jcraft.jsch.SSHAgentIT:110,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].resolve(String)'
      Src: com.jcraft.jsch.SSHAgentIT:111,1
    - Dst: '[java.nio.file.Files].createFile(com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:112,1
    - Dst: '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:113,1
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:116,1
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:116,1
    - Dst: os.write(com.jcraft.jsch.SSHAgentIT)
      Src: com.jcraft.jsch.SSHAgentIT:117,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:120,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.SSHAgentIT:122,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.SSHAgentIT:123,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.SSHAgentIT:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: '[com.jcraft.jsch.SSHAgentIT].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - os.write(com.jcraft.jsch.SSHAgentIT)
    - '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
    - '[java.util.Random].nextBytes(com.jcraft.jsch.SSHAgentIT)'
    - '[java.nio.file.Files].createTempDirectory(java.nio.file.Path,String)'
    - '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    - '[com.jcraft.jsch.SSHAgentIT].resolve(String)'
    - '[java.nio.file.Files].createFile(com.jcraft.jsch.SSHAgentIT)'
    - '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.SSHAgentIT)'
    - '[java.util.Random].<init>()'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.SSHAgentIT)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].deleteIfExists(java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentIT:130,1
    - Dst: '[java.nio.file.Files].deleteIfExists(java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentIT:135,1
    - Dst: '[java.nio.file.Files].deleteIfExists(java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentIT:140,1
    - Dst: '[java.nio.file.Path].getParent()'
      Src: com.jcraft.jsch.SSHAgentIT:145,1
    - Dst: '[java.nio.file.Files].deleteIfExists(com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 148
    functionName: '[com.jcraft.jsch.SSHAgentIT].afterEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Files].deleteIfExists(com.jcraft.jsch.SSHAgentIT)'
    - '[java.nio.file.Path].getParent()'
    - '[java.nio.file.Files].deleteIfExists(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].afterEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.SSHAgentIT:152,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.SSHAgentIT:153,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.SSHAgentIT:154,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.SSHAgentIT:155,1
    - Dst: '[java.nio.file.Path].getParent()'
      Src: com.jcraft.jsch.SSHAgentIT:158,1
    - Dst: '[java.nio.file.Files].deleteIfExists(com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: '[com.jcraft.jsch.SSHAgentIT].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Files].deleteIfExists(com.jcraft.jsch.SSHAgentIT)'
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    - '[java.nio.file.Path].getParent()'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:165,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createEd25519Identity(com.jcraft.jsch.JUnixSocketFactory)'
      Src: com.jcraft.jsch.SSHAgentIT:165,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.SSHAgentIT:166,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:167,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.SSHAgentIT:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 8
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: '[com.jcraft.jsch.SSHAgentIT].testEd25519JUnixSocketFactory()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.SSHAgentIT].createEd25519Identity(com.jcraft.jsch.JUnixSocketFactory)'
    - '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].testEd25519JUnixSocketFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:173,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createECDSA521Identity(com.jcraft.jsch.JUnixSocketFactory)'
      Src: com.jcraft.jsch.SSHAgentIT:173,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.SSHAgentIT:174,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:175,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.SSHAgentIT:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 8
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: '[com.jcraft.jsch.SSHAgentIT].testECDSA521JUnixSocketFactory()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
    - '[com.jcraft.jsch.SSHAgentIT].createECDSA521Identity(com.jcraft.jsch.JUnixSocketFactory)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].testECDSA521JUnixSocketFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:181,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createECDSA384Identity(com.jcraft.jsch.JUnixSocketFactory)'
      Src: com.jcraft.jsch.SSHAgentIT:181,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.SSHAgentIT:182,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:183,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.SSHAgentIT:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 8
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: '[com.jcraft.jsch.SSHAgentIT].testECDSA384JUnixSocketFactory()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentIT].createECDSA384Identity(com.jcraft.jsch.JUnixSocketFactory)'
    - '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].testECDSA384JUnixSocketFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:189,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createECDSA256Identity(com.jcraft.jsch.JUnixSocketFactory)'
      Src: com.jcraft.jsch.SSHAgentIT:189,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.SSHAgentIT:190,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:191,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.SSHAgentIT:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 8
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: '[com.jcraft.jsch.SSHAgentIT].testECDSA256JUnixSocketFactory()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.SSHAgentIT].createECDSA256Identity(com.jcraft.jsch.JUnixSocketFactory)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].testECDSA256JUnixSocketFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:198,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createRSAIdentity(com.jcraft.jsch.JUnixSocketFactory)'
      Src: com.jcraft.jsch.SSHAgentIT:198,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.SSHAgentIT:199,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:200,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.SSHAgentIT:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - keyType
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 8
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: '[com.jcraft.jsch.SSHAgentIT].testRSAJUnixSocketFactory(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.SSHAgentIT].createRSAIdentity(com.jcraft.jsch.JUnixSocketFactory)'
    - '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].testRSAJUnixSocketFactory(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:206,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createDSAIdentity(com.jcraft.jsch.JUnixSocketFactory)'
      Src: com.jcraft.jsch.SSHAgentIT:206,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.SSHAgentIT:207,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:208,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.SSHAgentIT:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 8
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: '[com.jcraft.jsch.SSHAgentIT].testDSAJUnixSocketFactory()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.SSHAgentIT].createDSAIdentity(com.jcraft.jsch.JUnixSocketFactory)'
    - '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].testDSAJUnixSocketFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:215,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createEd25519Identity(com.jcraft.jsch.UnixDomainSocketFactory)'
      Src: com.jcraft.jsch.SSHAgentIT:215,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.SSHAgentIT:216,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:217,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.SSHAgentIT:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 8
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: '[com.jcraft.jsch.SSHAgentIT].testEd25519UnixDomainSocketFactory()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentIT].createEd25519Identity(com.jcraft.jsch.UnixDomainSocketFactory)'
    - '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].testEd25519UnixDomainSocketFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:224,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createECDSA521Identity(com.jcraft.jsch.UnixDomainSocketFactory)'
      Src: com.jcraft.jsch.SSHAgentIT:224,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.SSHAgentIT:225,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:226,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.SSHAgentIT:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 8
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: '[com.jcraft.jsch.SSHAgentIT].testECDSA521UnixDomainSocketFactory()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.SSHAgentIT].createECDSA521Identity(com.jcraft.jsch.UnixDomainSocketFactory)'
    - '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].testECDSA521UnixDomainSocketFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:233,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createECDSA384Identity(com.jcraft.jsch.UnixDomainSocketFactory)'
      Src: com.jcraft.jsch.SSHAgentIT:233,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.SSHAgentIT:234,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:235,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.SSHAgentIT:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 8
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: '[com.jcraft.jsch.SSHAgentIT].testECDSA384UnixDomainSocketFactory()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.SSHAgentIT].createECDSA384Identity(com.jcraft.jsch.UnixDomainSocketFactory)'
    - '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].testECDSA384UnixDomainSocketFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:242,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createECDSA256Identity(com.jcraft.jsch.UnixDomainSocketFactory)'
      Src: com.jcraft.jsch.SSHAgentIT:242,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.SSHAgentIT:243,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:244,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.SSHAgentIT:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 8
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: '[com.jcraft.jsch.SSHAgentIT].testECDSA256UnixDomainSocketFactory()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentIT].createECDSA256Identity(com.jcraft.jsch.UnixDomainSocketFactory)'
    - '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].testECDSA256UnixDomainSocketFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:252,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createRSAIdentity(com.jcraft.jsch.UnixDomainSocketFactory)'
      Src: com.jcraft.jsch.SSHAgentIT:252,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.SSHAgentIT:253,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:254,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.SSHAgentIT:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - keyType
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 8
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: '[com.jcraft.jsch.SSHAgentIT].testRSAUnixDomainSocketFactory(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentIT].createRSAIdentity(com.jcraft.jsch.UnixDomainSocketFactory)'
    - '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].testRSAUnixDomainSocketFactory(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:261,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createDSAIdentity(com.jcraft.jsch.UnixDomainSocketFactory)'
      Src: com.jcraft.jsch.SSHAgentIT:261,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.SSHAgentIT:262,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:263,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.SSHAgentIT:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 8
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: '[com.jcraft.jsch.SSHAgentIT].testDSAUnixDomainSocketFactory()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.SSHAgentIT].createDSAIdentity(com.jcraft.jsch.UnixDomainSocketFactory)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].testDSAUnixDomainSocketFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentIT:269,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.SSHAgentConnector)'
      Src: com.jcraft.jsch.SSHAgentIT:269,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.SSHAgentIT:270,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].isEmpty()'
      Src: com.jcraft.jsch.SSHAgentIT:270,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].assertTrue(com.jcraft.jsch.SSHAgentIT,String)'
      Src: com.jcraft.jsch.SSHAgentIT:270,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:272,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
      Src: com.jcraft.jsch.SSHAgentIT:272,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:273,1
    - Dst: '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.AgentIdentityRepository)'
      Src: com.jcraft.jsch.SSHAgentIT:274,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:275,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:275,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.SSHAgentIT:275,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.SSHAgentIT:276,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.SSHAgentIT:276,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].assertEquals(int,com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:276,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.SSHAgentIT:277,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.SSHAgentIT:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.USocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - factory
    argTypes:
    - com.jcraft.jsch.USocketFactory
    constantsTouched: []
    func_position:
      end: 279
      start: 267
    functionDepth: 5
    functionLinenumber: 267
    functionLinenumberEnd: 279
    functionName: '[com.jcraft.jsch.SSHAgentIT].createRSAIdentity(com.jcraft.jsch.USocketFactory)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.Identity>].isEmpty()'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.SSHAgentConnector)'
    - '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
    - '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
    - '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    - '[com.jcraft.jsch.SSHAgentIT].assertEquals(int,com.jcraft.jsch.SSHAgentIT)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.AgentIdentityRepository)'
    - '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    - '[com.jcraft.jsch.SSHAgentIT].assertTrue(com.jcraft.jsch.SSHAgentIT,String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.SSHAgentIT].createRSAIdentity(com.jcraft.jsch.USocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentIT:283,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.SSHAgentConnector)'
      Src: com.jcraft.jsch.SSHAgentIT:283,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.SSHAgentIT:284,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].isEmpty()'
      Src: com.jcraft.jsch.SSHAgentIT:284,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].assertTrue(com.jcraft.jsch.SSHAgentIT,String)'
      Src: com.jcraft.jsch.SSHAgentIT:284,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:286,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
      Src: com.jcraft.jsch.SSHAgentIT:286,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:287,1
    - Dst: '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.AgentIdentityRepository)'
      Src: com.jcraft.jsch.SSHAgentIT:288,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:289,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:290,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.SSHAgentIT:289,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.SSHAgentIT:291,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.SSHAgentIT:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.USocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - factory
    argTypes:
    - com.jcraft.jsch.USocketFactory
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 5
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: '[com.jcraft.jsch.SSHAgentIT].createECDSA256Identity(com.jcraft.jsch.USocketFactory)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.Identity>].isEmpty()'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.SSHAgentConnector)'
    - '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
    - '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
    - '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.AgentIdentityRepository)'
    - '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    - '[com.jcraft.jsch.SSHAgentIT].assertTrue(com.jcraft.jsch.SSHAgentIT,String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.SSHAgentIT].createECDSA256Identity(com.jcraft.jsch.USocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentIT:297,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.SSHAgentConnector)'
      Src: com.jcraft.jsch.SSHAgentIT:297,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.SSHAgentIT:298,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].isEmpty()'
      Src: com.jcraft.jsch.SSHAgentIT:298,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].assertTrue(com.jcraft.jsch.SSHAgentIT,String)'
      Src: com.jcraft.jsch.SSHAgentIT:298,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:300,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
      Src: com.jcraft.jsch.SSHAgentIT:300,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:301,1
    - Dst: '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.AgentIdentityRepository)'
      Src: com.jcraft.jsch.SSHAgentIT:302,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:303,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:304,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.SSHAgentIT:303,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.SSHAgentIT:305,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.SSHAgentIT:305,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].assertEquals(int,com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:305,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.SSHAgentIT:306,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.SSHAgentIT:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.USocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - factory
    argTypes:
    - com.jcraft.jsch.USocketFactory
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: '[com.jcraft.jsch.SSHAgentIT].createECDSA384Identity(com.jcraft.jsch.USocketFactory)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.Identity>].isEmpty()'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.SSHAgentConnector)'
    - '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
    - '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
    - '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    - '[com.jcraft.jsch.SSHAgentIT].assertEquals(int,com.jcraft.jsch.SSHAgentIT)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.AgentIdentityRepository)'
    - '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    - '[com.jcraft.jsch.SSHAgentIT].assertTrue(com.jcraft.jsch.SSHAgentIT,String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.SSHAgentIT].createECDSA384Identity(com.jcraft.jsch.USocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentIT:312,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.SSHAgentConnector)'
      Src: com.jcraft.jsch.SSHAgentIT:312,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.SSHAgentIT:313,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].isEmpty()'
      Src: com.jcraft.jsch.SSHAgentIT:313,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].assertTrue(com.jcraft.jsch.SSHAgentIT,String)'
      Src: com.jcraft.jsch.SSHAgentIT:313,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:315,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
      Src: com.jcraft.jsch.SSHAgentIT:315,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:316,1
    - Dst: '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.AgentIdentityRepository)'
      Src: com.jcraft.jsch.SSHAgentIT:317,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:318,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:319,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.SSHAgentIT:318,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.SSHAgentIT:320,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.SSHAgentIT:320,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].assertEquals(int,com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:320,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.SSHAgentIT:321,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.SSHAgentIT:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.USocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - factory
    argTypes:
    - com.jcraft.jsch.USocketFactory
    constantsTouched: []
    func_position:
      end: 323
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 323
    functionName: '[com.jcraft.jsch.SSHAgentIT].createECDSA521Identity(com.jcraft.jsch.USocketFactory)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.Identity>].isEmpty()'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.SSHAgentConnector)'
    - '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
    - '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
    - '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    - '[com.jcraft.jsch.SSHAgentIT].assertEquals(int,com.jcraft.jsch.SSHAgentIT)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.AgentIdentityRepository)'
    - '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    - '[com.jcraft.jsch.SSHAgentIT].assertTrue(com.jcraft.jsch.SSHAgentIT,String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.SSHAgentIT].createECDSA521Identity(com.jcraft.jsch.USocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentIT:327,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.SSHAgentConnector)'
      Src: com.jcraft.jsch.SSHAgentIT:327,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.SSHAgentIT:328,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].isEmpty()'
      Src: com.jcraft.jsch.SSHAgentIT:328,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].assertTrue(com.jcraft.jsch.SSHAgentIT,String)'
      Src: com.jcraft.jsch.SSHAgentIT:328,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:330,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
      Src: com.jcraft.jsch.SSHAgentIT:330,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:331,1
    - Dst: '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.AgentIdentityRepository)'
      Src: com.jcraft.jsch.SSHAgentIT:332,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:333,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:333,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.SSHAgentIT:333,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.SSHAgentIT:334,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.SSHAgentIT:334,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].assertEquals(int,com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:334,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.SSHAgentIT:335,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.SSHAgentIT:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.USocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - factory
    argTypes:
    - com.jcraft.jsch.USocketFactory
    constantsTouched: []
    func_position:
      end: 337
      start: 325
    functionDepth: 5
    functionLinenumber: 325
    functionLinenumberEnd: 337
    functionName: '[com.jcraft.jsch.SSHAgentIT].createDSAIdentity(com.jcraft.jsch.USocketFactory)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.Identity>].isEmpty()'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.SSHAgentConnector)'
    - '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
    - '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
    - '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    - '[com.jcraft.jsch.SSHAgentIT].assertEquals(int,com.jcraft.jsch.SSHAgentIT)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.AgentIdentityRepository)'
    - '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    - '[com.jcraft.jsch.SSHAgentIT].assertTrue(com.jcraft.jsch.SSHAgentIT,String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.SSHAgentIT].createDSAIdentity(com.jcraft.jsch.USocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentIT:341,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.SSHAgentConnector)'
      Src: com.jcraft.jsch.SSHAgentIT:341,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.SSHAgentIT:342,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].isEmpty()'
      Src: com.jcraft.jsch.SSHAgentIT:342,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].assertTrue(com.jcraft.jsch.SSHAgentIT,String)'
      Src: com.jcraft.jsch.SSHAgentIT:342,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:344,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
      Src: com.jcraft.jsch.SSHAgentIT:344,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:345,1
    - Dst: '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.AgentIdentityRepository)'
      Src: com.jcraft.jsch.SSHAgentIT:346,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:347,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
      Src: com.jcraft.jsch.SSHAgentIT:347,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.SSHAgentIT:347,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.SSHAgentIT:349,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.SSHAgentIT:349,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].assertEquals(int,com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:349,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.SSHAgentIT:350,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.SSHAgentIT:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.USocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - factory
    argTypes:
    - com.jcraft.jsch.USocketFactory
    constantsTouched: []
    func_position:
      end: 352
      start: 339
    functionDepth: 5
    functionLinenumber: 339
    functionLinenumberEnd: 352
    functionName: '[com.jcraft.jsch.SSHAgentIT].createEd25519Identity(com.jcraft.jsch.USocketFactory)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.Identity>].isEmpty()'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.SSHAgentConnector)'
    - '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
    - '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
    - '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    - '[com.jcraft.jsch.SSHAgentIT].assertEquals(int,com.jcraft.jsch.SSHAgentIT)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.AgentIdentityRepository)'
    - '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    - '[com.jcraft.jsch.SSHAgentIT].assertTrue(com.jcraft.jsch.SSHAgentIT,String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.SSHAgentIT].createEd25519Identity(com.jcraft.jsch.USocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.SSHAgentIT:355,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.SSHAgentIT,com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:355,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].get(int)'
      Src: com.jcraft.jsch.SSHAgentIT:356,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].split(String)'
      Src: com.jcraft.jsch.SSHAgentIT:356,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.SSHAgentIT:358,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.SSHAgentIT:358,1
    - Dst: String.format(com.jcraft.jsch.SSHAgentIT,String,com.jcraft.jsch.SSHAgentIT,com.jcraft.jsch.SSHAgentIT)
      Src: com.jcraft.jsch.SSHAgentIT:358,1
    - Dst: '[java.util.Base64].getDecoder()'
      Src: com.jcraft.jsch.SSHAgentIT:359,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].decode()'
      Src: com.jcraft.jsch.SSHAgentIT:359,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.SSHAgentIT,com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 6
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentIT].split(String)'
    - '[java.nio.file.Paths].get(String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - String.format(com.jcraft.jsch.SSHAgentIT,String,com.jcraft.jsch.SSHAgentIT,com.jcraft.jsch.SSHAgentIT)
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.SSHAgentIT,com.jcraft.jsch.SSHAgentIT)'
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.SSHAgentIT,com.jcraft.jsch.SSHAgentIT)'
    - '[com.jcraft.jsch.SSHAgentIT].decode()'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[com.jcraft.jsch.SSHAgentIT].get(int)'
    - '[java.util.Base64].getDecoder()'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.SSHAgentIT:363,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.SSHAgentIT:363,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.SSHAgentIT,com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:363,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:364,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 12
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.SSHAgentIT,com.jcraft.jsch.SSHAgentIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.SSHAgentIT:371,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: com.jcraft.jsch.SSHAgentIT:372,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: com.jcraft.jsch.SSHAgentIT:373,1
    - Dst: sftp.connect(int)
      Src: com.jcraft.jsch.SSHAgentIT:374,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.SSHAgentIT:375,1
    - Dst: sftp.put(com.jcraft.jsch.SSHAgentIT,String)
      Src: com.jcraft.jsch.SSHAgentIT:375,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.SSHAgentIT:376,1
    - Dst: sftp.get(String,com.jcraft.jsch.SSHAgentIT)
      Src: com.jcraft.jsch.SSHAgentIT:376,1
    - Dst: sftp.disconnect()
      Src: com.jcraft.jsch.SSHAgentIT:377,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.SSHAgentIT:378,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].printInfo()'
      Src: com.jcraft.jsch.SSHAgentIT:381,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentIT:386,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].assertEquals(int,int,com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:386,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentIT:387,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].assertEquals(String,com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - debugException
    argTypes:
    - com.jcraft.jsch.Session
    - boolean
    constantsTouched: []
    func_position:
      end: 388
      start: 369
    functionDepth: 7
    functionLinenumber: 369
    functionLinenumberEnd: 388
    functionName: '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 12
    functionsReached:
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.SSHAgentIT].assertEquals(String,com.jcraft.jsch.SSHAgentIT)'
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - '[com.jcraft.jsch.SSHAgentIT].assertEquals(int,int,com.jcraft.jsch.SSHAgentIT)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.SSHAgentIT].printInfo()'
    - sftp.get(String,com.jcraft.jsch.SSHAgentIT)
    - sftp.disconnect()
    - '[java.nio.file.Path].toString()'
    - sftp.connect(int)
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
    - sftp.put(com.jcraft.jsch.SSHAgentIT,String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.SSHAgentIT:391,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].stream()'
      Src: com.jcraft.jsch.SSHAgentIT:391,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].map()'
      Src: com.jcraft.jsch.SSHAgentIT:391,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].forEach()'
      Src: com.jcraft.jsch.SSHAgentIT:391,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.SSHAgentIT:393,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].stream()'
      Src: com.jcraft.jsch.SSHAgentIT:393,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].map()'
      Src: com.jcraft.jsch.SSHAgentIT:393,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].forEach()'
      Src: com.jcraft.jsch.SSHAgentIT:393,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.SSHAgentIT:395,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].stream()'
      Src: com.jcraft.jsch.SSHAgentIT:395,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].map()'
      Src: com.jcraft.jsch.SSHAgentIT:395,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].forEach()'
      Src: com.jcraft.jsch.SSHAgentIT:395,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.SSHAgentIT:397,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.SSHAgentIT:398,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.SSHAgentIT:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 400
    functionName: '[com.jcraft.jsch.SSHAgentIT].printInfo()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentIT].forEach()'
    - '[com.jcraft.jsch.SSHAgentIT].map()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - System.out.println(String)
    - '[com.jcraft.jsch.SSHAgentIT].stream()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentIT].printInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SSHAgentIT].getClass()'
      Src: com.jcraft.jsch.SSHAgentIT:403,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.SSHAgentIT,String)'
      Src: com.jcraft.jsch.SSHAgentIT:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 6
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentIT].getClass()'
    - '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.SSHAgentIT,String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
      Src: com.jcraft.jsch.SSHAgentIT:45,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:45,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.SSHAgentIT:46,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.SSHAgentIT:47,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.SSHAgentIT:49,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:64,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:63,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.SSHAgentIT:63,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.SSHAgentIT:83,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withBuildArg(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:83,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withBuildArg(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:83,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.SSHAgentIT:83,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:82,1
    - Dst: '[java.nio.file.Path].getParent()'
      Src: com.jcraft.jsch.SSHAgentIT:85,1
    - Dst: '[com.jcraft.jsch.SSHAgentIT].toString()'
      Src: com.jcraft.jsch.SSHAgentIT:85,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withFileSystemBind(com.jcraft.jsch.SSHAgentIT,String,com.jcraft.jsch.SSHAgentIT)'
      Src: com.jcraft.jsch.SSHAgentIT:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - String
      - String
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SSHAgentIT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.SSHAgentIT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
    functionUses: 0
    functionsReached:
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withBuildArg(String,String)'
    - '[java.nio.file.Path].getParent()'
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.SSHAgentIT)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[com.jcraft.jsch.SSHAgentIT].toString()'
    - '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
    - '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
    - '[org.testcontainers.containers.GenericContainer].withFileSystemBind(com.jcraft.jsch.SSHAgentIT,String,com.jcraft.jsch.SSHAgentIT)'
    - '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.SSHAgentIT)'
    - '[com.jcraft.jsch.SSHAgentIT].withBuildArg(String,String)'
    - '[com.jcraft.jsch.SSHAgentIT].withFileFromClasspath(String,String)'
    linkageType: ''
    returnType: com.jcraft.jsch.SSHAgentIT
    signature: '[com.jcraft.jsch.SSHAgentIT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].<init>(com.jcraft.jsch.JSch,null,null,int)'
      Src: com.jcraft.jsch.SessionTest:21,1
    - Dst: '[com.jcraft.jsch.Session].parseForwarding(String)'
      Src: com.jcraft.jsch.SessionTest:22,1
    - Dst: '[com.jcraft.jsch.SessionTest].assertEquals(String,com.jcraft.jsch.SessionTest)'
      Src: com.jcraft.jsch.SessionTest:23,1
    - Dst: '[com.jcraft.jsch.SessionTest].assertEquals(int,com.jcraft.jsch.SessionTest)'
      Src: com.jcraft.jsch.SessionTest:24,1
    - Dst: '[com.jcraft.jsch.SessionTest].assertEquals(String,com.jcraft.jsch.SessionTest)'
      Src: com.jcraft.jsch.SessionTest:25,1
    - Dst: '[com.jcraft.jsch.SessionTest].assertEquals(int,com.jcraft.jsch.SessionTest)'
      Src: com.jcraft.jsch.SessionTest:26,1
    - Dst: '[com.jcraft.jsch.SessionTest].assertEquals(String,com.jcraft.jsch.SessionTest)'
      Src: com.jcraft.jsch.SessionTest:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - sshConfig
    - expectedBindAddress
    - expectedHost
    - expectedHostPort
    - expectedSocket
    argTypes:
    - String
    - String
    - String
    - int
    - String
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: '[com.jcraft.jsch.SessionTest].parseForwarding(String,String,String,int,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SessionTest].assertEquals(int,com.jcraft.jsch.SessionTest)'
    - '[com.jcraft.jsch.Session].<init>(com.jcraft.jsch.JSch,null,null,int)'
    - '[com.jcraft.jsch.SessionTest].assertEquals(String,com.jcraft.jsch.SessionTest)'
    - '[com.jcraft.jsch.Session].parseForwarding(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SessionTest].parseForwarding(String,String,String,int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String,int,null)'
      Src: com.jcraft.jsch.SessionTest:31,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String,int,null)'
      Src: com.jcraft.jsch.SessionTest:32,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String,int,null)'
      Src: com.jcraft.jsch.SessionTest:33,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String,int,null)'
      Src: com.jcraft.jsch.SessionTest:34,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String,int,null)'
      Src: com.jcraft.jsch.SessionTest:35,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String,int,null)'
      Src: com.jcraft.jsch.SessionTest:36,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String,int,null)'
      Src: com.jcraft.jsch.SessionTest:37,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,null,String)'
      Src: com.jcraft.jsch.SessionTest:38,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,null,String)'
      Src: com.jcraft.jsch.SessionTest:39,1
    - Dst: '[java.util.stream.Stream].of(com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest)'
      Src: com.jcraft.jsch.SessionTest:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.stream.Stream<org.junit.jupiter.params.provider.Arguments>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.SessionTest].sshConfigs()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.jupiter.params.provider.Arguments].of(String,String,String,int,null)'
    - '[org.junit.jupiter.params.provider.Arguments].of(String,String,null,String)'
    - '[java.util.stream.Stream].of(com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest,com.jcraft.jsch.SessionTest)'
    linkageType: ''
    returnType: java.util.stream.Stream<org.junit.jupiter.params.provider.Arguments>
    signature: '[com.jcraft.jsch.SessionTest].sshConfigs()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].<init>(com.jcraft.jsch.JSch,null,null,int)'
      Src: com.jcraft.jsch.SessionTest:45,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SessionTest:46,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.SessionTest:47,1
    - Dst: '[com.jcraft.jsch.SessionTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.SessionTest:47,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.SessionTest:48,1
    - Dst: '[com.jcraft.jsch.SessionTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.SessionTest:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: '[com.jcraft.jsch.SessionTest].getPubkeyAcceptedKeyTypes()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].<init>(com.jcraft.jsch.JSch,null,null,int)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.SessionTest].assertEquals(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SessionTest].getPubkeyAcceptedKeyTypes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].<init>(com.jcraft.jsch.JSch,null,null,int)'
      Src: com.jcraft.jsch.SessionTest:53,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.SessionTest:54,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.SessionTest:55,1
    - Dst: '[com.jcraft.jsch.SessionTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.SessionTest:55,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.SessionTest:56,1
    - Dst: '[com.jcraft.jsch.SessionTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.SessionTest:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: '[com.jcraft.jsch.SessionTest].setPubkeyAcceptedKeyTypes()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].<init>(com.jcraft.jsch.JSch,null,null,int)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.SessionTest].assertEquals(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SessionTest].setPubkeyAcceptedKeyTypes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getLogger()'
      Src: com.jcraft.jsch.SessionTest:61,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.SessionTest:63,1
    - Dst: '[com.jcraft.jsch.JSchTest.TestLogger].<init>()'
      Src: com.jcraft.jsch.SessionTest:64,1
    - Dst: '[com.jcraft.jsch.JSchTest.TestLogger].<init>()'
      Src: com.jcraft.jsch.SessionTest:65,1
    - Dst: '[com.jcraft.jsch.JSchTest.TestLogger].<init>()'
      Src: com.jcraft.jsch.SessionTest:66,1
    - Dst: '[com.jcraft.jsch.Session].<init>(com.jcraft.jsch.JSch,null,null,int)'
      Src: com.jcraft.jsch.SessionTest:68,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.SessionTest:70,1
    - Dst: '[com.jcraft.jsch.SessionTest].assertSame(com.jcraft.jsch.Logger,com.jcraft.jsch.Logger,String)'
      Src: com.jcraft.jsch.SessionTest:70,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.JSchTest.TestLogger)'
      Src: com.jcraft.jsch.SessionTest:72,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.SessionTest:73,1
    - Dst: '[com.jcraft.jsch.SessionTest].assertSame(com.jcraft.jsch.JSchTest.TestLogger,com.jcraft.jsch.Logger,String)'
      Src: com.jcraft.jsch.SessionTest:73,1
    - Dst: '[com.jcraft.jsch.JSch].setInstanceLogger(com.jcraft.jsch.JSchTest.TestLogger)'
      Src: com.jcraft.jsch.SessionTest:76,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.SessionTest:77,1
    - Dst: '[com.jcraft.jsch.SessionTest].assertSame(com.jcraft.jsch.JSchTest.TestLogger,com.jcraft.jsch.Logger,String)'
      Src: com.jcraft.jsch.SessionTest:77,1
    - Dst: '[com.jcraft.jsch.Session].setLogger(com.jcraft.jsch.JSchTest.TestLogger)'
      Src: com.jcraft.jsch.SessionTest:80,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.SessionTest:81,1
    - Dst: '[com.jcraft.jsch.SessionTest].assertSame(com.jcraft.jsch.JSchTest.TestLogger,com.jcraft.jsch.Logger,String)'
      Src: com.jcraft.jsch.SessionTest:81,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Logger)'
      Src: com.jcraft.jsch.SessionTest:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.SessionTest].checkLoggerFunctionality()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Logger)'
    - '[com.jcraft.jsch.Session].setLogger(com.jcraft.jsch.JSchTest.TestLogger)'
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.JSchTest.TestLogger)'
    - '[com.jcraft.jsch.SessionTest].assertSame(com.jcraft.jsch.JSchTest.TestLogger,com.jcraft.jsch.Logger,String)'
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    - '[com.jcraft.jsch.Session].<init>(com.jcraft.jsch.JSch,null,null,int)'
    - '[com.jcraft.jsch.JSch].setInstanceLogger(com.jcraft.jsch.JSchTest.TestLogger)'
    - '[com.jcraft.jsch.JSchTest.TestLogger].<init>()'
    - '[com.jcraft.jsch.SessionTest].assertSame(com.jcraft.jsch.Logger,com.jcraft.jsch.Logger,String)'
    - '[com.jcraft.jsch.JSch].getLogger()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SessionTest].checkLoggerFunctionality()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.SessionTest:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SessionTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 2
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.SessionTest].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/SessionTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.SessionTest
    signature: '[com.jcraft.jsch.SessionTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair2IT:43,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair2IT:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.KeyPair2IT].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair2IT].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:49,1
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: '[com.jcraft.jsch.KeyPair2IT].afterEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair2IT].afterEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,null,null)'
      Src: com.jcraft.jsch.KeyPair2IT:75,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:76,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPair2IT,null)'
      Src: com.jcraft.jsch.KeyPair2IT:76,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:77,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPair2IT,String)'
      Src: com.jcraft.jsch.KeyPair2IT:77,1
    - Dst: '[String].getBytes(com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:78,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPair2IT,String)'
      Src: com.jcraft.jsch.KeyPair2IT:78,1
    - Dst: '[java.util.stream.Stream].of(com.jcraft.jsch.KeyPair2IT,com.jcraft.jsch.KeyPair2IT,com.jcraft.jsch.KeyPair2IT,com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.stream.Stream<org.junit.jupiter.params.provider.Arguments>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.KeyPair2IT].java15WriteOpenSSHv1KeyArgs()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2IT.java
    functionUses: 0
    functionsReached:
    - '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPair2IT,null)'
    - '[String].getBytes(com.jcraft.jsch.KeyPair2IT)'
    - '[java.util.stream.Stream].of(com.jcraft.jsch.KeyPair2IT,com.jcraft.jsch.KeyPair2IT,com.jcraft.jsch.KeyPair2IT,com.jcraft.jsch.KeyPair2IT)'
    - '[org.junit.jupiter.params.provider.Arguments].of(int,int,com.jcraft.jsch.KeyPair2IT,String)'
    - '[org.junit.jupiter.params.provider.Arguments].of(int,int,null,null)'
    linkageType: ''
    returnType: java.util.stream.Stream<org.junit.jupiter.params.provider.Arguments>
    signature: '[com.jcraft.jsch.KeyPair2IT].java15WriteOpenSSHv1KeyArgs()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair2IT].createIdentity(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:86,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KeyPair2IT:88,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:91,1
    - Dst: '[com.jcraft.jsch.Session].connect(int)'
      Src: com.jcraft.jsch.KeyPair2IT:94,1
    - Dst: '[com.jcraft.jsch.Session].isConnected()'
      Src: com.jcraft.jsch.KeyPair2IT:95,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].assertTrue(boolean)'
      Src: com.jcraft.jsch.KeyPair2IT:95,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.KeyPair2IT:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - path
    - password
    - keyType
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 6
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: '[com.jcraft.jsch.KeyPair2IT].connectWithPublicKey(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair2IT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[com.jcraft.jsch.KeyPair2IT].createIdentity(String,String)'
    - '[com.jcraft.jsch.Session].connect(int)'
    - '[com.jcraft.jsch.Session].isConnected()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.KeyPair2IT].assertTrue(boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair2IT].connectWithPublicKey(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KeyPair2IT:106,1
    - Dst: ClassLoader.getSystemResource(String)
      Src: com.jcraft.jsch.KeyPair2IT:109,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].toURI()'
      Src: com.jcraft.jsch.KeyPair2IT:109,1
    - Dst: '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:109,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].toFile()'
      Src: com.jcraft.jsch.KeyPair2IT:109,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].getAbsolutePath()'
      Src: com.jcraft.jsch.KeyPair2IT:109,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:108,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.KeyPair2IT:111,1
    - Dst: '[com.jcraft.jsch.UserInfo].<init>()'
      Src: com.jcraft.jsch.KeyPair2IT:112,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(com.jcraft.jsch.UserInfo)'
      Src: com.jcraft.jsch.KeyPair2IT:112,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:143,1
    - Dst: '[com.jcraft.jsch.Session].connect(int)'
      Src: com.jcraft.jsch.KeyPair2IT:146,1
    - Dst: '[com.jcraft.jsch.Session].isConnected()'
      Src: com.jcraft.jsch.KeyPair2IT:147,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].assertTrue(boolean)'
      Src: com.jcraft.jsch.KeyPair2IT:147,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.KeyPair2IT:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - path
    - password
    - keyType
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 151
      start: 101
    functionDepth: 6
    functionLinenumber: 101
    functionLinenumberEnd: 151
    functionName: '[com.jcraft.jsch.KeyPair2IT].connectWithPublicKeyAndUserInfo(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair2IT].createSession(com.jcraft.jsch.JSch)'
    - '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPair2IT)'
    - '[com.jcraft.jsch.KeyPair2IT].toURI()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[com.jcraft.jsch.UserInfo].<init>()'
    - '[com.jcraft.jsch.Session].setUserInfo(com.jcraft.jsch.UserInfo)'
    - '[com.jcraft.jsch.KeyPair2IT].getAbsolutePath()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.Session].connect(int)'
    - '[com.jcraft.jsch.KeyPair2IT].toFile()'
    - '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.KeyPair2IT)'
    - '[com.jcraft.jsch.Session].isConnected()'
    - ClassLoader.getSystemResource(String)
    - '[com.jcraft.jsch.KeyPair2IT].assertTrue(boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair2IT].connectWithPublicKeyAndUserInfo(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:158,1
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:159,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KeyPair2IT:160,1
    - Dst: '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
      Src: com.jcraft.jsch.KeyPair2IT:161,1
    - Dst: '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
      Src: com.jcraft.jsch.KeyPair2IT:162,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair2IT,byte[],String)'
      Src: com.jcraft.jsch.KeyPair2IT:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - type
    - key_size
    - passphrase
    - cipher
    argTypes:
    - int
    - int
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: '[com.jcraft.jsch.KeyPair2IT].testJava15WriteOpenSSHv1Keys(int,int,byte[],String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair2IT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair2IT,byte[],String)'
    - '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
    - '[com.jcraft.jsch.JSch].setConfig(String,String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair2IT].testJava15WriteOpenSSHv1Keys(int,int,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:170,1
    - Dst: '[com.jcraft.jsch.JSch].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:171,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KeyPair2IT:172,1
    - Dst: '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
      Src: com.jcraft.jsch.KeyPair2IT:173,1
    - Dst: '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
      Src: com.jcraft.jsch.KeyPair2IT:174,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair2IT,byte[],String)'
      Src: com.jcraft.jsch.KeyPair2IT:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - type
    - key_size
    - passphrase
    - cipher
    argTypes:
    - int
    - int
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: '[com.jcraft.jsch.KeyPair2IT].testBCWriteOpenSSHv1Keys(int,int,byte[],String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair2IT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair2IT,byte[],String)'
    - '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
    - '[com.jcraft.jsch.JSch].setConfig(String,String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair2IT].testBCWriteOpenSSHv1Keys(int,int,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.KeyPair2IT:180,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].toString()'
      Src: com.jcraft.jsch.KeyPair2IT:181,1
    - Dst: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(com.jcraft.jsch.KeyPair2IT,byte[],String)'
      Src: com.jcraft.jsch.KeyPair2IT:181,1
    - Dst: '[org.testcontainers.utility.MountableFile].forHostPath(com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:182,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].copyFileToContainer(com.jcraft.jsch.KeyPair2IT,com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:184,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].execInContainer(com.jcraft.jsch.KeyPair2IT,String,String,com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:185,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].getExitCode()'
      Src: com.jcraft.jsch.KeyPair2IT:186,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].assertEquals(int,com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:186,1
    - Dst: String.format(com.jcraft.jsch.KeyPair2IT,String,com.jcraft.jsch.KeyPair2IT)
      Src: com.jcraft.jsch.KeyPair2IT:188,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].execInContainer(com.jcraft.jsch.KeyPair2IT,String,String,com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:190,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].getExitCode()'
      Src: com.jcraft.jsch.KeyPair2IT:192,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].assertEquals(int,com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:192,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].getStdout()'
      Src: com.jcraft.jsch.KeyPair2IT:194,1
    - Dst: System.out.println(com.jcraft.jsch.KeyPair2IT)
      Src: com.jcraft.jsch.KeyPair2IT:194,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].getStderr()'
      Src: com.jcraft.jsch.KeyPair2IT:195,1
    - Dst: System.out.println(com.jcraft.jsch.KeyPair2IT)
      Src: com.jcraft.jsch.KeyPair2IT:195,1
    - Dst: System.out.println(com.jcraft.jsch.KeyPair2IT)
      Src: com.jcraft.jsch.KeyPair2IT:196,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.KeyPair2IT,com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:198,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].forEach()'
      Src: com.jcraft.jsch.KeyPair2IT:198,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyPair2IT:201,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyPair2IT:202,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.KeyPair2IT:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.KeyPair
      - String
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - kp
    - name
    - passphrase
    - cipher
    argTypes:
    - com.jcraft.jsch.KeyPair
    - String
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 207
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 207
    functionName: '[com.jcraft.jsch.KeyPair2IT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,String,byte[],String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2IT.java
    functionUses: 0
    functionsReached:
    - System.out.println(com.jcraft.jsch.KeyPair2IT)
    - '[java.nio.file.Path].resolve(String)'
    - String.format(com.jcraft.jsch.KeyPair2IT,String,com.jcraft.jsch.KeyPair2IT)
    - '[org.testcontainers.utility.MountableFile].forHostPath(com.jcraft.jsch.KeyPair2IT)'
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.KeyPair2IT,com.jcraft.jsch.KeyPair2IT)'
    - '[com.jcraft.jsch.KeyPair2IT].forEach()'
    - '[com.jcraft.jsch.KeyPair2IT].getStdout()'
    - '[com.jcraft.jsch.KeyPair2IT].getStderr()'
    - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(com.jcraft.jsch.KeyPair2IT,byte[],String)'
    - '[org.testcontainers.containers.GenericContainer<?>].execInContainer(com.jcraft.jsch.KeyPair2IT,String,String,com.jcraft.jsch.KeyPair2IT)'
    - '[com.jcraft.jsch.KeyPair2IT].getExitCode()'
    - '[com.jcraft.jsch.KeyPair2IT].assertEquals(int,com.jcraft.jsch.KeyPair2IT)'
    - '[com.jcraft.jsch.KeyPair2IT].toString()'
    - System.out.println(String)
    - '[org.testcontainers.containers.GenericContainer<?>].copyFileToContainer(com.jcraft.jsch.KeyPair2IT,com.jcraft.jsch.KeyPair2IT)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair2IT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,String,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KeyPair2IT:211,1
    - Dst: ClassLoader.getSystemResource(String)
      Src: com.jcraft.jsch.KeyPair2IT:214,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].toURI()'
      Src: com.jcraft.jsch.KeyPair2IT:214,1
    - Dst: '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:214,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].toFile()'
      Src: com.jcraft.jsch.KeyPair2IT:214,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].getAbsolutePath()'
      Src: com.jcraft.jsch.KeyPair2IT:214,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.KeyPair2IT,String)'
      Src: com.jcraft.jsch.KeyPair2IT:213,1
    - Dst: ClassLoader.getSystemResource(String)
      Src: com.jcraft.jsch.KeyPair2IT:218,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].toURI()'
      Src: com.jcraft.jsch.KeyPair2IT:218,1
    - Dst: '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:218,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].toFile()'
      Src: com.jcraft.jsch.KeyPair2IT:218,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].getAbsolutePath()'
      Src: com.jcraft.jsch.KeyPair2IT:218,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - password
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: '[com.jcraft.jsch.KeyPair2IT].createIdentity(String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2IT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.KeyPair2IT,String)'
    - '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPair2IT)'
    - '[com.jcraft.jsch.KeyPair2IT].toURI()'
    - '[com.jcraft.jsch.KeyPair2IT].getAbsolutePath()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.KeyPair2IT].toFile()'
    - '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.KeyPair2IT)'
    - ClassLoader.getSystemResource(String)
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.KeyPair2IT].createIdentity(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.KeyPair2IT:224,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.KeyPair2IT:224,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.KeyPair2IT,com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:224,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:225,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: '[com.jcraft.jsch.KeyPair2IT].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2IT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.KeyPair2IT,com.jcraft.jsch.KeyPair2IT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.KeyPair2IT].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.KeyPair2IT:55,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.KeyPair2IT)'
      Src: com.jcraft.jsch.KeyPair2IT:54,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.KeyPair2IT:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - java.nio.file.Path
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyPair2IT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KeyPair2IT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2IT.java
    functionUses: 0
    functionsReached:
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.KeyPair2IT)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[com.jcraft.jsch.KeyPair2IT].withFileFromClasspath(String,String)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair2IT
    signature: '[com.jcraft.jsch.KeyPair2IT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].<init>()'
      Src: com.jcraft.jsch.AlgorithmsIT:76,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
      Src: com.jcraft.jsch.AlgorithmsIT:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[com.jcraft.jsch.AlgorithmsIT].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Slf4jLogger].<init>()'
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
      Src: com.jcraft.jsch.AlgorithmsIT:82,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
      Src: com.jcraft.jsch.AlgorithmsIT:83,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:86,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:87,1
    - Dst: '[java.nio.file.Files].createFile(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:88,1
    - Dst: '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:89,1
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.AlgorithmsIT:92,1
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:92,1
    - Dst: os.write(com.jcraft.jsch.AlgorithmsIT)
      Src: com.jcraft.jsch.AlgorithmsIT:93,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:96,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.AlgorithmsIT:98,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.AlgorithmsIT:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: '[com.jcraft.jsch.AlgorithmsIT].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - os.write(com.jcraft.jsch.AlgorithmsIT)
    - '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.AlgorithmsIT)'
    - '[java.util.Random].nextBytes(com.jcraft.jsch.AlgorithmsIT)'
    - '[java.nio.file.Path].resolve(String)'
    - '[java.nio.file.Files].createFile(com.jcraft.jsch.AlgorithmsIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
    - '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.AlgorithmsIT)'
    - '[java.util.Random].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.AlgorithmsIT:104,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.AlgorithmsIT:105,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.AlgorithmsIT:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: '[com.jcraft.jsch.AlgorithmsIT].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
      Src: com.jcraft.jsch.AlgorithmsIT:113,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:114,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:115,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:116,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:117,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
      Src: com.jcraft.jsch.AlgorithmsIT:119,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kex
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 8
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testJava11KEXs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testJava11KEXs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
      Src: com.jcraft.jsch.AlgorithmsIT:126,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:127,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:128,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:129,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:130,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
      Src: com.jcraft.jsch.AlgorithmsIT:132,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kex
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 8
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testBCKEXs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testBCKEXs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
      Src: com.jcraft.jsch.AlgorithmsIT:143,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:144,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:145,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:146,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
      Src: com.jcraft.jsch.AlgorithmsIT:148,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kex
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 8
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testKEXs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testKEXs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
      Src: com.jcraft.jsch.AlgorithmsIT:160,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:161,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:162,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:163,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:164,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:165,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:166,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
      Src: com.jcraft.jsch.AlgorithmsIT:168,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,String,String,String)
      Src: com.jcraft.jsch.AlgorithmsIT:169,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:171,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - kex
    - size
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 173
      start: 152
    functionDepth: 8
    functionLinenumber: 152
    functionLinenumberEnd: 173
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testDHGEXSizes(String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - String.format(com.jcraft.jsch.AlgorithmsIT,String,String,String,String)
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testDHGEXSizes(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createEd25519Identity()'
      Src: com.jcraft.jsch.AlgorithmsIT:178,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:179,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:180,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:181,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:182,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:183,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:184,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 8
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testJava15Ed25519()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - '[com.jcraft.jsch.AlgorithmsIT].createEd25519Identity()'
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testJava15Ed25519()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createEd25519Identity()'
      Src: com.jcraft.jsch.AlgorithmsIT:192,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:193,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:194,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:195,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:196,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:197,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:198,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 8
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testBCEd25519()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - '[com.jcraft.jsch.AlgorithmsIT].createEd25519Identity()'
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testBCEd25519()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createEd25519Identity()'
      Src: com.jcraft.jsch.AlgorithmsIT:206,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:207,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:208,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:209,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:210,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 8
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testEd25519()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - '[com.jcraft.jsch.AlgorithmsIT].createEd25519Identity()'
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testEd25519()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createECDSA521Identity()'
      Src: com.jcraft.jsch.AlgorithmsIT:218,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:219,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:220,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:221,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:222,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 8
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testECDSA521()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].createECDSA521Identity()'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testECDSA521()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createECDSA384Identity()'
      Src: com.jcraft.jsch.AlgorithmsIT:230,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:231,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:232,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:233,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:234,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 8
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testECDSA384()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].createECDSA384Identity()'
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testECDSA384()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createECDSA256Identity()'
      Src: com.jcraft.jsch.AlgorithmsIT:242,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:243,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:244,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:245,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:246,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 8
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testECDSA256()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].createECDSA256Identity()'
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testECDSA256()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
      Src: com.jcraft.jsch.AlgorithmsIT:255,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:256,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:257,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:258,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:259,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
      Src: com.jcraft.jsch.AlgorithmsIT:261,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - keyType
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 8
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testRSA(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testRSA(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createDSAIdentity()'
      Src: com.jcraft.jsch.AlgorithmsIT:267,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:268,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:269,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:270,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:271,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 8
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testDSA()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.AlgorithmsIT].createDSAIdentity()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testDSA()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
      Src: com.jcraft.jsch.AlgorithmsIT:292,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:293,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:294,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:295,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:296,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:297,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:298,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
      Src: com.jcraft.jsch.AlgorithmsIT:300,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
      Src: com.jcraft.jsch.AlgorithmsIT:301,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:302,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - cipher
    - compression
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 304
      start: 277
    functionDepth: 8
    functionLinenumber: 277
    functionLinenumberEnd: 304
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testCiphers(String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testCiphers(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
      Src: com.jcraft.jsch.AlgorithmsIT:322,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:323,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:324,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:325,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:326,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:327,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:329,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:330,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:331,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
      Src: com.jcraft.jsch.AlgorithmsIT:333,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
      Src: com.jcraft.jsch.AlgorithmsIT:334,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:335,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - mac
    - compression
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 337
      start: 306
    functionDepth: 8
    functionLinenumber: 306
    functionLinenumberEnd: 337
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testMACs(String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testMACs(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
      Src: com.jcraft.jsch.AlgorithmsIT:342,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:343,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:344,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:345,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:346,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
      Src: com.jcraft.jsch.AlgorithmsIT:349,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
      Src: com.jcraft.jsch.AlgorithmsIT:351,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:352,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - compression
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 354
      start: 339
    functionDepth: 8
    functionLinenumber: 339
    functionLinenumberEnd: 354
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testCompressions(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testCompressions(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
      Src: com.jcraft.jsch.AlgorithmsIT:359,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:360,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:361,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:362,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:363,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:364,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
      Src: com.jcraft.jsch.AlgorithmsIT:366,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:369,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:370,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - impl
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 372
      start: 356
    functionDepth: 8
    functionLinenumber: 356
    functionLinenumberEnd: 372
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testCompressionImpls(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(com.jcraft.jsch.AlgorithmsIT)'
    - String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testCompressionImpls(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].split(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:382,1
    - Dst: '[com.jcraft.jsch.MockUserInfo].<init>()'
      Src: com.jcraft.jsch.AlgorithmsIT:384,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.AlgorithmsIT:385,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:386,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:386,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.AlgorithmsIT:386,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AlgorithmsIT:387,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:388,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:389,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:390,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:391,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(com.jcraft.jsch.MockUserInfo)'
      Src: com.jcraft.jsch.AlgorithmsIT:392,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AlgorithmsIT:394,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
      Src: com.jcraft.jsch.AlgorithmsIT:398,1
    - Dst: '[com.jcraft.jsch.MockUserInfo].getMessages()'
      Src: com.jcraft.jsch.AlgorithmsIT:399,1
    - Dst: '[java.util.List<String>].stream()'
      Src: com.jcraft.jsch.AlgorithmsIT:399,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].map()'
      Src: com.jcraft.jsch.AlgorithmsIT:399,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].flatMap()'
      Src: com.jcraft.jsch.AlgorithmsIT:399,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].toList()'
      Src: com.jcraft.jsch.AlgorithmsIT:400,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].collect(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:399,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].stream()'
      Src: com.jcraft.jsch.AlgorithmsIT:401,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].filter()'
      Src: com.jcraft.jsch.AlgorithmsIT:401,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].findFirst()'
      Src: com.jcraft.jsch.AlgorithmsIT:401,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].isPresent()'
      Src: com.jcraft.jsch.AlgorithmsIT:403,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].forEach()'
      Src: com.jcraft.jsch.AlgorithmsIT:404,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].printInfo()'
      Src: com.jcraft.jsch.AlgorithmsIT:405,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].isPresent()'
      Src: com.jcraft.jsch.AlgorithmsIT:408,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].assertTrue(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fingerprint
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 409
      start: 374
    functionDepth: 8
    functionLinenumber: 374
    functionLinenumberEnd: 409
    functionName: '[com.jcraft.jsch.AlgorithmsIT].testFingerprintHashes(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].filter()'
    - '[com.jcraft.jsch.AlgorithmsIT].flatMap()'
    - '[com.jcraft.jsch.AlgorithmsIT].forEach()'
    - '[com.jcraft.jsch.AlgorithmsIT].assertTrue(com.jcraft.jsch.AlgorithmsIT)'
    - '[com.jcraft.jsch.AlgorithmsIT].map()'
    - '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
    - '[String].split(String)'
    - '[com.jcraft.jsch.AlgorithmsIT].isPresent()'
    - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    - String.format(com.jcraft.jsch.AlgorithmsIT,String,String)
    - '[com.jcraft.jsch.AlgorithmsIT].findFirst()'
    - '[com.jcraft.jsch.AlgorithmsIT].toList()'
    - '[com.jcraft.jsch.AlgorithmsIT].stream()'
    - '[com.jcraft.jsch.MockUserInfo].getMessages()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.AlgorithmsIT].collect(com.jcraft.jsch.AlgorithmsIT)'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Session].setUserInfo(com.jcraft.jsch.MockUserInfo)'
    - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[java.util.List<String>].stream()'
    - '[com.jcraft.jsch.AlgorithmsIT].printInfo()'
    - '[com.jcraft.jsch.MockUserInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].testFingerprintHashes(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:412,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:412,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.AlgorithmsIT:413,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:414,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:414,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.AlgorithmsIT:414,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.AlgorithmsIT:415,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.AlgorithmsIT:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 417
    functionName: '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 9
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:420,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:420,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.AlgorithmsIT:421,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:422,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:423,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.AlgorithmsIT:422,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.AlgorithmsIT:424,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.AlgorithmsIT:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: '[com.jcraft.jsch.AlgorithmsIT].createECDSA256Identity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.AlgorithmsIT].createECDSA256Identity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:429,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:429,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.AlgorithmsIT:430,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:431,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:432,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.AlgorithmsIT:431,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.AlgorithmsIT:433,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.AlgorithmsIT:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 435
    functionName: '[com.jcraft.jsch.AlgorithmsIT].createECDSA384Identity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.AlgorithmsIT].createECDSA384Identity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:438,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:438,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.AlgorithmsIT:439,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:440,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:441,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.AlgorithmsIT:440,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.AlgorithmsIT:442,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.AlgorithmsIT:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 444
    functionName: '[com.jcraft.jsch.AlgorithmsIT].createECDSA521Identity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.AlgorithmsIT].createECDSA521Identity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:447,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:447,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.AlgorithmsIT:448,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:449,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:449,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.AlgorithmsIT:449,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.AlgorithmsIT:450,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.AlgorithmsIT:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: '[com.jcraft.jsch.AlgorithmsIT].createDSAIdentity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.AlgorithmsIT].createDSAIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:455,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:455,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.AlgorithmsIT:456,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:457,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:457,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.AlgorithmsIT:457,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.AlgorithmsIT:459,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.AlgorithmsIT:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 461
    functionName: '[com.jcraft.jsch.AlgorithmsIT].createEd25519Identity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.AlgorithmsIT].createEd25519Identity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:464,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.AlgorithmsIT,com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:464,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].get(int)'
      Src: com.jcraft.jsch.AlgorithmsIT:465,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].split(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:465,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.AlgorithmsIT:467,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.AlgorithmsIT:467,1
    - Dst: String.format(com.jcraft.jsch.AlgorithmsIT,String,com.jcraft.jsch.AlgorithmsIT,com.jcraft.jsch.AlgorithmsIT)
      Src: com.jcraft.jsch.AlgorithmsIT:467,1
    - Dst: '[java.util.Base64].getDecoder()'
      Src: com.jcraft.jsch.AlgorithmsIT:468,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].decode()'
      Src: com.jcraft.jsch.AlgorithmsIT:468,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.AlgorithmsIT,com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 469
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 469
    functionName: '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 6
    functionsReached:
    - '[java.nio.file.Paths].get(String)'
    - '[com.jcraft.jsch.AlgorithmsIT].get(int)'
    - '[com.jcraft.jsch.AlgorithmsIT].split(String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[com.jcraft.jsch.AlgorithmsIT].decode()'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.AlgorithmsIT,com.jcraft.jsch.AlgorithmsIT)'
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.AlgorithmsIT,com.jcraft.jsch.AlgorithmsIT)'
    - String.format(com.jcraft.jsch.AlgorithmsIT,String,com.jcraft.jsch.AlgorithmsIT,com.jcraft.jsch.AlgorithmsIT)
    - '[java.util.Base64].getDecoder()'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.AlgorithmsIT:472,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.AlgorithmsIT:472,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.AlgorithmsIT,com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:472,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:473,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 476
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 476
    functionName: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 17
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.AlgorithmsIT,com.jcraft.jsch.AlgorithmsIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.AlgorithmsIT:480,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: com.jcraft.jsch.AlgorithmsIT:481,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: com.jcraft.jsch.AlgorithmsIT:482,1
    - Dst: sftp.connect(int)
      Src: com.jcraft.jsch.AlgorithmsIT:483,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.AlgorithmsIT:484,1
    - Dst: sftp.put(com.jcraft.jsch.AlgorithmsIT,String)
      Src: com.jcraft.jsch.AlgorithmsIT:484,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.AlgorithmsIT:485,1
    - Dst: sftp.get(String,com.jcraft.jsch.AlgorithmsIT)
      Src: com.jcraft.jsch.AlgorithmsIT:485,1
    - Dst: sftp.disconnect()
      Src: com.jcraft.jsch.AlgorithmsIT:486,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.AlgorithmsIT:487,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].printInfo()'
      Src: com.jcraft.jsch.AlgorithmsIT:490,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: com.jcraft.jsch.AlgorithmsIT:495,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].assertEquals(int,int,com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:495,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
      Src: com.jcraft.jsch.AlgorithmsIT:496,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].assertEquals(String,com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - debugException
    argTypes:
    - com.jcraft.jsch.Session
    - boolean
    constantsTouched: []
    func_position:
      end: 497
      start: 478
    functionDepth: 7
    functionLinenumber: 478
    functionLinenumberEnd: 497
    functionName: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 17
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].assertEquals(int,int,com.jcraft.jsch.AlgorithmsIT)'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - sftp.get(String,com.jcraft.jsch.AlgorithmsIT)
    - '[com.jcraft.jsch.AlgorithmsIT].assertEquals(String,com.jcraft.jsch.AlgorithmsIT)'
    - '[com.jcraft.jsch.AlgorithmsIT].printInfo()'
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - '[com.jcraft.jsch.Session].connect()'
    - sftp.put(com.jcraft.jsch.AlgorithmsIT,String)
    - sftp.disconnect()
    - '[java.nio.file.Path].toString()'
    - sftp.connect(int)
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.AlgorithmsIT:500,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].stream()'
      Src: com.jcraft.jsch.AlgorithmsIT:500,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].map()'
      Src: com.jcraft.jsch.AlgorithmsIT:500,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].forEach()'
      Src: com.jcraft.jsch.AlgorithmsIT:500,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.AlgorithmsIT:502,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].stream()'
      Src: com.jcraft.jsch.AlgorithmsIT:502,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].map()'
      Src: com.jcraft.jsch.AlgorithmsIT:502,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].forEach()'
      Src: com.jcraft.jsch.AlgorithmsIT:502,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.AlgorithmsIT:504,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.AlgorithmsIT:505,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.AlgorithmsIT:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 507
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 507
    functionName: '[com.jcraft.jsch.AlgorithmsIT].printInfo()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].forEach()'
    - '[com.jcraft.jsch.AlgorithmsIT].stream()'
    - '[com.jcraft.jsch.AlgorithmsIT].map()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].printInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.AlgorithmsIT:510,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].stream()'
      Src: com.jcraft.jsch.AlgorithmsIT:510,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].map()'
      Src: com.jcraft.jsch.AlgorithmsIT:510,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].filter()'
      Src: com.jcraft.jsch.AlgorithmsIT:510,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].findFirst()'
      Src: com.jcraft.jsch.AlgorithmsIT:510,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].isPresent()'
      Src: com.jcraft.jsch.AlgorithmsIT:520,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].assertTrue(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:520,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].printInfo()'
      Src: com.jcraft.jsch.AlgorithmsIT:523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - expected
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 526
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 526
    functionName: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AlgorithmsIT].filter()'
    - '[com.jcraft.jsch.AlgorithmsIT].printInfo()'
    - '[com.jcraft.jsch.AlgorithmsIT].stream()'
    - '[com.jcraft.jsch.AlgorithmsIT].map()'
    - '[com.jcraft.jsch.AlgorithmsIT].assertTrue(com.jcraft.jsch.AlgorithmsIT)'
    - '[com.jcraft.jsch.AlgorithmsIT].isPresent()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - '[com.jcraft.jsch.AlgorithmsIT].findFirst()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AlgorithmsIT].checkLogs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].getClass()'
      Src: com.jcraft.jsch.AlgorithmsIT:529,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.AlgorithmsIT,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 530
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 530
    functionName: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 7
    functionsReached:
    - '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.AlgorithmsIT,String)'
    - '[com.jcraft.jsch.AlgorithmsIT].getClass()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
      Src: com.jcraft.jsch.AlgorithmsIT:44,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:44,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.AlgorithmsIT:45,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.AlgorithmsIT:46,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AlgorithmsIT:57,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.AlgorithmsIT)'
      Src: com.jcraft.jsch.AlgorithmsIT:56,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.AlgorithmsIT:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.AlgorithmsIT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.AlgorithmsIT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
    functionUses: 0
    functionsReached:
    - '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.AlgorithmsIT)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[com.jcraft.jsch.AlgorithmsIT].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.AlgorithmsIT)'
    - '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
    - '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
    linkageType: ''
    returnType: com.jcraft.jsch.AlgorithmsIT
    signature: '[com.jcraft.jsch.AlgorithmsIT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
      Src: com.jcraft.jsch.AbstractBufferMargin:36,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:36,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.AbstractBufferMargin:37,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.AbstractBufferMargin:39,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: Integer.toString(int)
      Src: com.jcraft.jsch.AbstractBufferMargin:70,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].withBuildArg(String,com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:53,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:52,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.AbstractBufferMargin:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.AbstractBufferMargin
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxPktSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].<init>(int)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 4
    functionsReached:
    - Integer.toString(int)
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[com.jcraft.jsch.AbstractBufferMargin].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[com.jcraft.jsch.AbstractBufferMargin].withBuildArg(String,com.jcraft.jsch.AbstractBufferMargin)'
    - '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.AbstractBufferMargin)'
    - '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
    - '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.AbstractBufferMargin)'
    linkageType: ''
    returnType: com.jcraft.jsch.AbstractBufferMargin
    signature: '[com.jcraft.jsch.AbstractBufferMargin].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].<init>()'
      Src: com.jcraft.jsch.AbstractBufferMargin:76,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
      Src: com.jcraft.jsch.AbstractBufferMargin:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Slf4jLogger].<init>()'
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AbstractBufferMargin].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
      Src: com.jcraft.jsch.AbstractBufferMargin:82,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
      Src: com.jcraft.jsch.AbstractBufferMargin:83,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:86,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:87,1
    - Dst: '[java.nio.file.Files].createFile(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:88,1
    - Dst: '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:89,1
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.AbstractBufferMargin:92,1
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:92,1
    - Dst: os.write(com.jcraft.jsch.AbstractBufferMargin)
      Src: com.jcraft.jsch.AbstractBufferMargin:93,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:96,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.AbstractBufferMargin:98,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.AbstractBufferMargin:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 0
    functionsReached:
    - os.write(com.jcraft.jsch.AbstractBufferMargin)
    - '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.AbstractBufferMargin)'
    - '[java.nio.file.Path].resolve(String)'
    - '[java.nio.file.Files].createFile(com.jcraft.jsch.AbstractBufferMargin)'
    - '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.AbstractBufferMargin)'
    - '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    - '[java.util.Random].nextBytes(com.jcraft.jsch.AbstractBufferMargin)'
    - '[java.util.Random].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AbstractBufferMargin].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.AbstractBufferMargin:104,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.AbstractBufferMargin:105,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.AbstractBufferMargin:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AbstractBufferMargin].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].createRSAIdentity()'
      Src: com.jcraft.jsch.AbstractBufferMargin:110,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AbstractBufferMargin:111,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:112,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:113,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:114,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:115,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:116,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:117,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AbstractBufferMargin:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - cipher
    - mac
    - compression
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 8
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].doTestSftp(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.AbstractBufferMargin].createRSAIdentity()'
    - '[com.jcraft.jsch.AbstractBufferMargin].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AbstractBufferMargin].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AbstractBufferMargin].doTestSftp(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].createRSAIdentity()'
      Src: com.jcraft.jsch.AbstractBufferMargin:122,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.AbstractBufferMargin:123,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:124,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:125,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:126,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:127,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:128,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:129,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].doScp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.AbstractBufferMargin:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - cipher
    - mac
    - compression
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 8
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].doTestScp(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.AbstractBufferMargin].createRSAIdentity()'
    - '[com.jcraft.jsch.AbstractBufferMargin].doScp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.AbstractBufferMargin].createSession(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AbstractBufferMargin].doTestScp(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].getResourceFile(String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:134,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].readHostKey(String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:134,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.AbstractBufferMargin:135,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].getResourceFile(String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:136,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].getResourceFile(String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:136,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.AbstractBufferMargin:136,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.AbstractBufferMargin:137,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.AbstractBufferMargin:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].createRSAIdentity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.AbstractBufferMargin].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    - '[com.jcraft.jsch.AbstractBufferMargin].readHostKey(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.AbstractBufferMargin].createRSAIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:142,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.AbstractBufferMargin,com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:142,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].get(int)'
      Src: com.jcraft.jsch.AbstractBufferMargin:143,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].split(String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:143,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.AbstractBufferMargin:145,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.AbstractBufferMargin:145,1
    - Dst: String.format(com.jcraft.jsch.AbstractBufferMargin,String,com.jcraft.jsch.AbstractBufferMargin,com.jcraft.jsch.AbstractBufferMargin)
      Src: com.jcraft.jsch.AbstractBufferMargin:145,1
    - Dst: '[java.util.Base64].getDecoder()'
      Src: com.jcraft.jsch.AbstractBufferMargin:146,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].decode()'
      Src: com.jcraft.jsch.AbstractBufferMargin:146,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.AbstractBufferMargin,com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].readHostKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 1
    functionsReached:
    - '[java.nio.file.Paths].get(String)'
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.AbstractBufferMargin,com.jcraft.jsch.AbstractBufferMargin)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[com.jcraft.jsch.AbstractBufferMargin].get(int)'
    - '[com.jcraft.jsch.AbstractBufferMargin].decode()'
    - '[com.jcraft.jsch.AbstractBufferMargin].split(String)'
    - '[java.util.Base64].getDecoder()'
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.AbstractBufferMargin,com.jcraft.jsch.AbstractBufferMargin)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - String.format(com.jcraft.jsch.AbstractBufferMargin,String,com.jcraft.jsch.AbstractBufferMargin,com.jcraft.jsch.AbstractBufferMargin)
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.AbstractBufferMargin].readHostKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.AbstractBufferMargin:150,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.AbstractBufferMargin:150,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.AbstractBufferMargin,com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:150,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:151,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.AbstractBufferMargin,com.jcraft.jsch.AbstractBufferMargin)'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.AbstractBufferMargin].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.AbstractBufferMargin:158,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: com.jcraft.jsch.AbstractBufferMargin:159,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:160,1
    - Dst: sftp.connect(int)
      Src: com.jcraft.jsch.AbstractBufferMargin:161,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.AbstractBufferMargin:162,1
    - Dst: sftp.put(com.jcraft.jsch.AbstractBufferMargin,String)
      Src: com.jcraft.jsch.AbstractBufferMargin:162,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.AbstractBufferMargin:163,1
    - Dst: sftp.get(String,com.jcraft.jsch.AbstractBufferMargin)
      Src: com.jcraft.jsch.AbstractBufferMargin:163,1
    - Dst: sftp.disconnect()
      Src: com.jcraft.jsch.AbstractBufferMargin:164,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.AbstractBufferMargin:165,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].printInfo()'
      Src: com.jcraft.jsch.AbstractBufferMargin:168,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: com.jcraft.jsch.AbstractBufferMargin:173,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].assertEquals(int,int,com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:173,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
      Src: com.jcraft.jsch.AbstractBufferMargin:174,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].assertEquals(String,com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - debugException
    argTypes:
    - com.jcraft.jsch.Session
    - boolean
    constantsTouched: []
    func_position:
      end: 175
      start: 156
    functionDepth: 7
    functionLinenumber: 156
    functionLinenumberEnd: 175
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].doSftp(com.jcraft.jsch.Session,boolean)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - sftp.get(String,com.jcraft.jsch.AbstractBufferMargin)
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - '[com.jcraft.jsch.AbstractBufferMargin].assertEquals(String,com.jcraft.jsch.AbstractBufferMargin)'
    - '[com.jcraft.jsch.Session].connect()'
    - sftp.put(com.jcraft.jsch.AbstractBufferMargin,String)
    - sftp.disconnect()
    - '[java.nio.file.Path].toString()'
    - sftp.connect(int)
    - '[com.jcraft.jsch.AbstractBufferMargin].printInfo()'
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
    - '[com.jcraft.jsch.AbstractBufferMargin].assertEquals(int,int,com.jcraft.jsch.AbstractBufferMargin)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AbstractBufferMargin].doSftp(com.jcraft.jsch.Session,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.AbstractBufferMargin:179,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: com.jcraft.jsch.AbstractBufferMargin:180,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:183,1
    - Dst: scp.getInputStream()
      Src: com.jcraft.jsch.AbstractBufferMargin:184,1
    - Dst: scp.getOutputStream()
      Src: com.jcraft.jsch.AbstractBufferMargin:185,1
    - Dst: scp.setCommand(String)
      Src: com.jcraft.jsch.AbstractBufferMargin:186,1
    - Dst: scp.connect(int)
      Src: com.jcraft.jsch.AbstractBufferMargin:187,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].checkAck(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:188,1
    - Dst: cmd.getBytes(com.jcraft.jsch.AbstractBufferMargin)
      Src: com.jcraft.jsch.AbstractBufferMargin:190,1
    - Dst: os.write(com.jcraft.jsch.AbstractBufferMargin)
      Src: com.jcraft.jsch.AbstractBufferMargin:190,1
    - Dst: os.flush()
      Src: com.jcraft.jsch.AbstractBufferMargin:191,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].checkAck(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:192,1
    - Dst: '[java.nio.file.Files].copy(java.nio.file.Path,com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:193,1
    - Dst: os.flush()
      Src: com.jcraft.jsch.AbstractBufferMargin:194,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].sendAck(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:195,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].checkAck(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:196,1
    - Dst: scp.isConnected()
      Src: com.jcraft.jsch.AbstractBufferMargin:199,1
    - Dst: Thread.sleep(int)
      Src: com.jcraft.jsch.AbstractBufferMargin:200,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:203,1
    - Dst: scp.getOutputStream()
      Src: com.jcraft.jsch.AbstractBufferMargin:204,1
    - Dst: scp.getInputStream()
      Src: com.jcraft.jsch.AbstractBufferMargin:205,1
    - Dst: scp.setCommand(String)
      Src: com.jcraft.jsch.AbstractBufferMargin:206,1
    - Dst: scp.connect(int)
      Src: com.jcraft.jsch.AbstractBufferMargin:207,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].sendAck(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:208,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].checkAck(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:209,1
    - Dst: is.read(com.jcraft.jsch.AbstractBufferMargin,int,int)
      Src: com.jcraft.jsch.AbstractBufferMargin:212,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].sendAck(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:213,1
    - Dst: '[org.apache.commons.io.input.BoundedInputStream].builder()'
      Src: com.jcraft.jsch.AbstractBufferMargin:215,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].setMaxCount(int,int)'
      Src: com.jcraft.jsch.AbstractBufferMargin:215,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].setInputStream(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:215,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].get()'
      Src: com.jcraft.jsch.AbstractBufferMargin:215,1
    - Dst: '[java.nio.file.Files].copy(com.jcraft.jsch.AbstractBufferMargin,java.nio.file.Path)'
      Src: com.jcraft.jsch.AbstractBufferMargin:214,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].checkAck(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:217,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].sendAck(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:218,1
    - Dst: scp.isConnected()
      Src: com.jcraft.jsch.AbstractBufferMargin:222,1
    - Dst: Thread.sleep(int)
      Src: com.jcraft.jsch.AbstractBufferMargin:223,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.AbstractBufferMargin:226,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].printInfo()'
      Src: com.jcraft.jsch.AbstractBufferMargin:229,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: com.jcraft.jsch.AbstractBufferMargin:234,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].assertEquals(int,int,com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:234,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
      Src: com.jcraft.jsch.AbstractBufferMargin:235,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].assertEquals(String,com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:235,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - debugException
    argTypes:
    - com.jcraft.jsch.Session
    - boolean
    constantsTouched: []
    func_position:
      end: 236
      start: 177
    functionDepth: 7
    functionLinenumber: 177
    functionLinenumberEnd: 236
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].doScp(com.jcraft.jsch.Session,boolean)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 1
    functionsReached:
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
    - scp.getOutputStream()
    - Thread.sleep(int)
    - '[org.apache.commons.io.input.BoundedInputStream].builder()'
    - '[com.jcraft.jsch.AbstractBufferMargin].setMaxCount(int,int)'
    - scp.getInputStream()
    - '[java.nio.file.Files].copy(java.nio.file.Path,com.jcraft.jsch.AbstractBufferMargin)'
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - os.write(com.jcraft.jsch.AbstractBufferMargin)
    - is.read(com.jcraft.jsch.AbstractBufferMargin,int,int)
    - '[com.jcraft.jsch.AbstractBufferMargin].checkAck(com.jcraft.jsch.AbstractBufferMargin)'
    - '[com.jcraft.jsch.AbstractBufferMargin].sendAck(com.jcraft.jsch.AbstractBufferMargin)'
    - cmd.getBytes(com.jcraft.jsch.AbstractBufferMargin)
    - os.flush()
    - scp.isConnected()
    - '[com.jcraft.jsch.AbstractBufferMargin].assertEquals(int,int,com.jcraft.jsch.AbstractBufferMargin)'
    - '[com.jcraft.jsch.AbstractBufferMargin].setInputStream(com.jcraft.jsch.AbstractBufferMargin)'
    - scp.connect(int)
    - '[com.jcraft.jsch.Session].disconnect()'
    - scp.setCommand(String)
    - '[com.jcraft.jsch.AbstractBufferMargin].get()'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.AbstractBufferMargin].assertEquals(String,com.jcraft.jsch.AbstractBufferMargin)'
    - '[com.jcraft.jsch.AbstractBufferMargin].printInfo()'
    - '[java.nio.file.Files].copy(com.jcraft.jsch.AbstractBufferMargin,java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AbstractBufferMargin].doScp(com.jcraft.jsch.Session,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].read()'
      Src: com.jcraft.jsch.AbstractBufferMargin:239,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:243,1
    - Dst: '[StringBuilder].<init>()'
      Src: com.jcraft.jsch.AbstractBufferMargin:246,1
    - Dst: '[java.io.InputStream].read()'
      Src: com.jcraft.jsch.AbstractBufferMargin:248,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.AbstractBufferMargin:250,1
    - Dst: '[java.io.InputStream].read()'
      Src: com.jcraft.jsch.AbstractBufferMargin:251,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:257,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:259,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - is
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 263
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 263
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].checkAck(java.io.InputStream)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].<init>()'
    - '[java.io.IOException].<init>(String)'
    - '[java.io.InputStream].read()'
    - '[StringBuilder].append(char)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.AbstractBufferMargin].checkAck(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.OutputStream].write(com.jcraft.jsch.AbstractBufferMargin)'
      Src: com.jcraft.jsch.AbstractBufferMargin:268,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: com.jcraft.jsch.AbstractBufferMargin:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - os
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].sendAck(java.io.OutputStream)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 0
    functionsReached:
    - '[java.io.OutputStream].flush()'
    - '[java.io.OutputStream].write(com.jcraft.jsch.AbstractBufferMargin)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AbstractBufferMargin].sendAck(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.AbstractBufferMargin:273,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].stream()'
      Src: com.jcraft.jsch.AbstractBufferMargin:273,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].map()'
      Src: com.jcraft.jsch.AbstractBufferMargin:273,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].forEach()'
      Src: com.jcraft.jsch.AbstractBufferMargin:273,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.AbstractBufferMargin:275,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].stream()'
      Src: com.jcraft.jsch.AbstractBufferMargin:275,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].map()'
      Src: com.jcraft.jsch.AbstractBufferMargin:275,1
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].forEach()'
      Src: com.jcraft.jsch.AbstractBufferMargin:275,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.AbstractBufferMargin:277,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.AbstractBufferMargin:278,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.AbstractBufferMargin:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 280
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].printInfo()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.AbstractBufferMargin].forEach()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - '[com.jcraft.jsch.AbstractBufferMargin].stream()'
    - '[com.jcraft.jsch.AbstractBufferMargin].map()'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AbstractBufferMargin].printInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AbstractBufferMargin].getClass()'
      Src: com.jcraft.jsch.AbstractBufferMargin:283,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.AbstractBufferMargin,String)'
      Src: com.jcraft.jsch.AbstractBufferMargin:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: '[com.jcraft.jsch.AbstractBufferMargin].getResourceFile(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.AbstractBufferMargin].getClass()'
    - '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.AbstractBufferMargin,String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.AbstractBufferMargin].getResourceFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].<init>()'
      Src: com.jcraft.jsch.Algorithms3IT:56,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
      Src: com.jcraft.jsch.Algorithms3IT:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[com.jcraft.jsch.Algorithms3IT].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms3IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Slf4jLogger].<init>()'
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms3IT].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
      Src: com.jcraft.jsch.Algorithms3IT:62,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
      Src: com.jcraft.jsch.Algorithms3IT:63,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.Algorithms3IT:66,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.Algorithms3IT:67,1
    - Dst: '[java.nio.file.Files].createFile(com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:68,1
    - Dst: '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:69,1
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.Algorithms3IT:72,1
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:72,1
    - Dst: os.write(com.jcraft.jsch.Algorithms3IT)
      Src: com.jcraft.jsch.Algorithms3IT:73,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:76,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Algorithms3IT:78,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Algorithms3IT:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.Algorithms3IT].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms3IT.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Files].createFile(com.jcraft.jsch.Algorithms3IT)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.Algorithms3IT)'
    - '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.Algorithms3IT)'
    - os.write(com.jcraft.jsch.Algorithms3IT)
    - '[java.nio.file.Path].resolve(String)'
    - '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
    - '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    - '[java.util.Random].nextBytes(com.jcraft.jsch.Algorithms3IT)'
    - '[java.util.Random].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms3IT].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.Algorithms3IT:84,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Algorithms3IT:85,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.Algorithms3IT:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: '[com.jcraft.jsch.Algorithms3IT].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms3IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms3IT].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms3IT].createRSAIdentity()'
      Src: com.jcraft.jsch.Algorithms3IT:92,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Algorithms3IT:93,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms3IT:94,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms3IT:95,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms3IT:96,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms3IT:97,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Algorithms3IT:98,1
    - Dst: String.format(com.jcraft.jsch.Algorithms3IT,String,String)
      Src: com.jcraft.jsch.Algorithms3IT:100,1
    - Dst: String.format(com.jcraft.jsch.Algorithms3IT,String,String)
      Src: com.jcraft.jsch.Algorithms3IT:101,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].checkLogs(com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:102,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].checkLogs(com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - cipher
    - compression
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 8
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: '[com.jcraft.jsch.Algorithms3IT].testCiphers(String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms3IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms3IT].doSftp(com.jcraft.jsch.Session,boolean)'
    - String.format(com.jcraft.jsch.Algorithms3IT,String,String)
    - '[com.jcraft.jsch.Algorithms3IT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Algorithms3IT].createRSAIdentity()'
    - '[com.jcraft.jsch.Algorithms3IT].checkLogs(com.jcraft.jsch.Algorithms3IT)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms3IT].testCiphers(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms3IT].getResourceFile(String)'
      Src: com.jcraft.jsch.Algorithms3IT:107,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].readHostKey(String)'
      Src: com.jcraft.jsch.Algorithms3IT:107,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.Algorithms3IT:108,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].getResourceFile(String)'
      Src: com.jcraft.jsch.Algorithms3IT:109,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].getResourceFile(String)'
      Src: com.jcraft.jsch.Algorithms3IT:109,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.Algorithms3IT:109,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.Algorithms3IT:110,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.Algorithms3IT:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: '[com.jcraft.jsch.Algorithms3IT].createRSAIdentity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms3IT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Algorithms3IT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.Algorithms3IT].readHostKey(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.Algorithms3IT].createRSAIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.Algorithms3IT:115,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.Algorithms3IT,com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:115,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].get(int)'
      Src: com.jcraft.jsch.Algorithms3IT:116,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].split(String)'
      Src: com.jcraft.jsch.Algorithms3IT:116,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.Algorithms3IT:118,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.Algorithms3IT:118,1
    - Dst: String.format(com.jcraft.jsch.Algorithms3IT,String,com.jcraft.jsch.Algorithms3IT,com.jcraft.jsch.Algorithms3IT)
      Src: com.jcraft.jsch.Algorithms3IT:118,1
    - Dst: '[java.util.Base64].getDecoder()'
      Src: com.jcraft.jsch.Algorithms3IT:119,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].decode()'
      Src: com.jcraft.jsch.Algorithms3IT:119,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.Algorithms3IT,com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: '[com.jcraft.jsch.Algorithms3IT].readHostKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms3IT.java
    functionUses: 1
    functionsReached:
    - '[java.nio.file.Paths].get(String)'
    - '[com.jcraft.jsch.Algorithms3IT].decode()'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.Algorithms3IT,com.jcraft.jsch.Algorithms3IT)'
    - '[com.jcraft.jsch.Algorithms3IT].get(int)'
    - String.format(com.jcraft.jsch.Algorithms3IT,String,com.jcraft.jsch.Algorithms3IT,com.jcraft.jsch.Algorithms3IT)
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.Algorithms3IT,com.jcraft.jsch.Algorithms3IT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[com.jcraft.jsch.Algorithms3IT].split(String)'
    - '[java.util.Base64].getDecoder()'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.Algorithms3IT].readHostKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.Algorithms3IT:123,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.Algorithms3IT:123,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.Algorithms3IT,com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:123,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms3IT:124,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.Algorithms3IT:125,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Algorithms3IT:127,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Algorithms3IT:128,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:129,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: '[com.jcraft.jsch.Algorithms3IT].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms3IT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.Algorithms3IT,com.jcraft.jsch.Algorithms3IT)'
    - '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.Algorithms3IT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.Algorithms3IT].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.Algorithms3IT:136,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: com.jcraft.jsch.Algorithms3IT:137,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: com.jcraft.jsch.Algorithms3IT:138,1
    - Dst: sftp.connect(int)
      Src: com.jcraft.jsch.Algorithms3IT:139,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.Algorithms3IT:140,1
    - Dst: sftp.put(com.jcraft.jsch.Algorithms3IT,String)
      Src: com.jcraft.jsch.Algorithms3IT:140,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.Algorithms3IT:141,1
    - Dst: sftp.get(String,com.jcraft.jsch.Algorithms3IT)
      Src: com.jcraft.jsch.Algorithms3IT:141,1
    - Dst: sftp.disconnect()
      Src: com.jcraft.jsch.Algorithms3IT:142,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.Algorithms3IT:143,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].printInfo()'
      Src: com.jcraft.jsch.Algorithms3IT:146,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: com.jcraft.jsch.Algorithms3IT:151,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].assertEquals(int,int,com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:151,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
      Src: com.jcraft.jsch.Algorithms3IT:152,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].assertEquals(String,com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - debugException
    argTypes:
    - com.jcraft.jsch.Session
    - boolean
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 7
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: '[com.jcraft.jsch.Algorithms3IT].doSftp(com.jcraft.jsch.Session,boolean)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms3IT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.Algorithms3IT].printInfo()'
    - '[com.jcraft.jsch.Algorithms3IT].assertEquals(int,int,com.jcraft.jsch.Algorithms3IT)'
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - sftp.get(String,com.jcraft.jsch.Algorithms3IT)
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Algorithms3IT].assertEquals(String,com.jcraft.jsch.Algorithms3IT)'
    - sftp.disconnect()
    - '[java.nio.file.Path].toString()'
    - sftp.connect(int)
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
    - sftp.put(com.jcraft.jsch.Algorithms3IT,String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms3IT].doSftp(com.jcraft.jsch.Session,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.Algorithms3IT:156,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].stream()'
      Src: com.jcraft.jsch.Algorithms3IT:156,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].map()'
      Src: com.jcraft.jsch.Algorithms3IT:156,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].forEach()'
      Src: com.jcraft.jsch.Algorithms3IT:156,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.Algorithms3IT:158,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].stream()'
      Src: com.jcraft.jsch.Algorithms3IT:158,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].map()'
      Src: com.jcraft.jsch.Algorithms3IT:158,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].forEach()'
      Src: com.jcraft.jsch.Algorithms3IT:158,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.Algorithms3IT:160,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.Algorithms3IT:161,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.Algorithms3IT:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: '[com.jcraft.jsch.Algorithms3IT].printInfo()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms3IT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Algorithms3IT].map()'
    - '[com.jcraft.jsch.Algorithms3IT].stream()'
    - '[com.jcraft.jsch.Algorithms3IT].forEach()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms3IT].printInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.Algorithms3IT:166,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].stream()'
      Src: com.jcraft.jsch.Algorithms3IT:166,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].map()'
      Src: com.jcraft.jsch.Algorithms3IT:166,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].filter()'
      Src: com.jcraft.jsch.Algorithms3IT:166,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].findFirst()'
      Src: com.jcraft.jsch.Algorithms3IT:166,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].isPresent()'
      Src: com.jcraft.jsch.Algorithms3IT:169,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].assertTrue(com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:169,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].printInfo()'
      Src: com.jcraft.jsch.Algorithms3IT:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - expected
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: '[com.jcraft.jsch.Algorithms3IT].checkLogs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms3IT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Algorithms3IT].map()'
    - '[com.jcraft.jsch.Algorithms3IT].assertTrue(com.jcraft.jsch.Algorithms3IT)'
    - '[com.jcraft.jsch.Algorithms3IT].printInfo()'
    - '[com.jcraft.jsch.Algorithms3IT].stream()'
    - '[com.jcraft.jsch.Algorithms3IT].findFirst()'
    - '[com.jcraft.jsch.Algorithms3IT].filter()'
    - '[com.jcraft.jsch.Algorithms3IT].isPresent()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Algorithms3IT].checkLogs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Algorithms3IT].getClass()'
      Src: com.jcraft.jsch.Algorithms3IT:177,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.Algorithms3IT,String)'
      Src: com.jcraft.jsch.Algorithms3IT:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: '[com.jcraft.jsch.Algorithms3IT].getResourceFile(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms3IT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.Algorithms3IT,String)'
    - '[com.jcraft.jsch.Algorithms3IT].getClass()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Algorithms3IT].getResourceFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
      Src: com.jcraft.jsch.Algorithms3IT:37,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:37,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.Algorithms3IT:38,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.Algorithms3IT:39,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.Algorithms3IT:49,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms3IT:49,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms3IT:49,1
    - Dst: '[com.jcraft.jsch.Algorithms3IT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.Algorithms3IT:49,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.Algorithms3IT)'
      Src: com.jcraft.jsch.Algorithms3IT:49,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.Algorithms3IT:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Algorithms3IT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Algorithms3IT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms3IT.java
    functionUses: 0
    functionsReached:
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.Algorithms3IT)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.Algorithms3IT)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
    - '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
    - '[com.jcraft.jsch.Algorithms3IT].withFileFromClasspath(String,String)'
    linkageType: ''
    returnType: com.jcraft.jsch.Algorithms3IT
    signature: '[com.jcraft.jsch.Algorithms3IT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:30,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:32,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:34,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:35,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:36,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:38,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:40,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:42,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:43,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:44,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:46,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:47,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:48,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:49,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:50,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:52,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:53,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:54,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:55,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:56,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:57,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:59,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:60,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:62,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:65,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:66,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:67,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:70,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:71,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:72,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:73,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:74,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:75,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:76,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:77,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:78,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:79,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:80,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:81,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:82,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:83,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:84,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:85,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:86,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:87,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:88,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:89,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:90,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:91,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:92,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:93,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:95,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:96,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:97,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:98,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:99,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:100,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:101,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:102,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:103,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:104,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:105,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:106,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:107,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:108,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:109,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:110,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:111,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:112,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:113,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:114,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:115,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:116,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:117,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:118,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:120,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:121,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:122,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:123,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:124,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:125,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:126,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:127,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:128,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:129,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:130,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:131,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
      Src: com.jcraft.jsch.KeyPairTest:132,1
    - Dst: '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
      Src: com.jcraft.jsch.KeyPairTest:133,1
    - Dst: '[java.util.stream.Stream].of(com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest)'
      Src: com.jcraft.jsch.KeyPairTest:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 90
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.stream.Stream<org.junit.jupiter.params.provider.Arguments>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 134
    functionName: '[com.jcraft.jsch.KeyPairTest].keyArgs()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.jupiter.params.provider.Arguments].of(String,null,String)'
    - '[org.junit.jupiter.params.provider.Arguments].of(String,String,String)'
    - '[java.util.stream.Stream].of(com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest,com.jcraft.jsch.KeyPairTest)'
    linkageType: ''
    returnType: java.util.stream.Stream<org.junit.jupiter.params.provider.Arguments>
    signature: '[com.jcraft.jsch.KeyPairTest].keyArgs()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KeyPairTest:140,1
    - Dst: ClassLoader.getSystemResource(String)
      Src: com.jcraft.jsch.KeyPairTest:142,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].toURI()'
      Src: com.jcraft.jsch.KeyPairTest:142,1
    - Dst: '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPairTest)'
      Src: com.jcraft.jsch.KeyPairTest:142,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].toFile()'
      Src: com.jcraft.jsch.KeyPairTest:142,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KeyPairTest:142,1
    - Dst: '[java.io.File].<init>(com.jcraft.jsch.KeyPairTest)'
      Src: com.jcraft.jsch.KeyPairTest:143,1
    - Dst: '[java.io.File].exists()'
      Src: com.jcraft.jsch.KeyPairTest:143,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].assertTrue(com.jcraft.jsch.KeyPairTest)'
      Src: com.jcraft.jsch.KeyPairTest:143,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].assertDoesNotThrow()'
      Src: com.jcraft.jsch.KeyPairTest:144,1
    - Dst: '[com.jcraft.jsch.JSch].getIdentityRepository()'
      Src: com.jcraft.jsch.KeyPairTest:151,1
    - Dst: '[com.jcraft.jsch.IdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.KeyPairTest:151,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].get(int)'
      Src: com.jcraft.jsch.KeyPairTest:151,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].getAlgName()'
      Src: com.jcraft.jsch.KeyPairTest:151,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].assertEquals(String,com.jcraft.jsch.KeyPairTest)'
      Src: com.jcraft.jsch.KeyPairTest:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      classPublic: false
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - path
    - password
    - keyType
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: '[com.jcraft.jsch.KeyPairTest].loadKey(String,String,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].getIdentityRepository()'
    - '[java.io.File].<init>(com.jcraft.jsch.KeyPairTest)'
    - '[com.jcraft.jsch.KeyPairTest].assertTrue(com.jcraft.jsch.KeyPairTest)'
    - '[java.io.File].exists()'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].get(int)'
    - '[com.jcraft.jsch.KeyPairTest].toURI()'
    - '[com.jcraft.jsch.KeyPairTest].toFile()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.KeyPairTest].getAlgName()'
    - '[com.jcraft.jsch.KeyPairTest].assertEquals(String,com.jcraft.jsch.KeyPairTest)'
    - '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPairTest)'
    - '[com.jcraft.jsch.KeyPairTest].assertDoesNotThrow()'
    - ClassLoader.getSystemResource(String)
    - '[com.jcraft.jsch.KeyPairTest].getAbsolutePath()'
    - '[com.jcraft.jsch.IdentityRepository].getIdentities()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairTest].loadKey(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KeyPairTest:156,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].assertDoesNotThrow()'
      Src: com.jcraft.jsch.KeyPairTest:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: '[com.jcraft.jsch.KeyPairTest].genKeypair()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairTest].assertDoesNotThrow()'
    - '[com.jcraft.jsch.JSch].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairTest].genKeypair()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KeyPairTest:165,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].assertDoesNotThrow()'
      Src: com.jcraft.jsch.KeyPairTest:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: '[com.jcraft.jsch.KeyPairTest].genKeypairEncrypted()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairTest].assertDoesNotThrow()'
    - '[com.jcraft.jsch.JSch].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairTest].genKeypairEncrypted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.KeyPairTest:184,1
    - Dst: ClassLoader.getSystemResource(String)
      Src: com.jcraft.jsch.KeyPairTest:186,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].toURI()'
      Src: com.jcraft.jsch.KeyPairTest:186,1
    - Dst: '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPairTest)'
      Src: com.jcraft.jsch.KeyPairTest:186,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].toFile()'
      Src: com.jcraft.jsch.KeyPairTest:186,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].getAbsolutePath()'
      Src: com.jcraft.jsch.KeyPairTest:186,1
    - Dst: '[java.io.File].<init>(com.jcraft.jsch.KeyPairTest)'
      Src: com.jcraft.jsch.KeyPairTest:187,1
    - Dst: '[java.io.File].exists()'
      Src: com.jcraft.jsch.KeyPairTest:187,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].assertTrue(com.jcraft.jsch.KeyPairTest)'
      Src: com.jcraft.jsch.KeyPairTest:187,1
    - Dst: '[com.jcraft.jsch.IdentityFile].newInstance(com.jcraft.jsch.KeyPairTest,null,InstanceLogger)'
      Src: com.jcraft.jsch.KeyPairTest:188,1
    - Dst: '[com.jcraft.jsch.IdentityFile].getKeyPair()'
      Src: com.jcraft.jsch.KeyPairTest:191,1
    - Dst: '[com.jcraft.jsch.KeyPair].decrypt(String)'
      Src: com.jcraft.jsch.KeyPairTest:191,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].assertTrue(byte[])'
      Src: com.jcraft.jsch.KeyPairTest:191,1
    - Dst: '[com.jcraft.jsch.IdentityFile].getKeyPair()'
      Src: com.jcraft.jsch.KeyPairTest:194,1
    - Dst: '[com.jcraft.jsch.KeyPair].isEncrypted()'
      Src: com.jcraft.jsch.KeyPairTest:194,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].assertFalse(boolean)'
      Src: com.jcraft.jsch.KeyPairTest:194,1
    - Dst: '[com.jcraft.jsch.IdentityFile].getKeyPair()'
      Src: com.jcraft.jsch.KeyPairTest:195,1
    - Dst: '[com.jcraft.jsch.KeyPair].getOpenSSHv1PrivateKeyBlob()'
      Src: com.jcraft.jsch.KeyPairTest:195,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].assertNotNull(byte[])'
      Src: com.jcraft.jsch.KeyPairTest:195,1
    - Dst: '[com.jcraft.jsch.IdentityFile].getKeyPair()'
      Src: com.jcraft.jsch.KeyPairTest:198,1
    - Dst: '[com.jcraft.jsch.KeyPair].decrypt(byte[])'
      Src: com.jcraft.jsch.KeyPairTest:198,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].assertTrue(byte[])'
      Src: com.jcraft.jsch.KeyPairTest:198,1
    - Dst: '[com.jcraft.jsch.IdentityFile].getKeyPair()'
      Src: com.jcraft.jsch.KeyPairTest:199,1
    - Dst: '[com.jcraft.jsch.KeyPair].decrypt(String)'
      Src: com.jcraft.jsch.KeyPairTest:199,1
    - Dst: '[com.jcraft.jsch.KeyPairTest].assertTrue(byte[])'
      Src: com.jcraft.jsch.KeyPairTest:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      classPublic: false
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - keyFile
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 200
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 200
    functionName: '[com.jcraft.jsch.KeyPairTest].decryptEncryptedOpensshKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].decrypt(String)'
    - '[com.jcraft.jsch.KeyPair].decrypt(byte[])'
    - '[com.jcraft.jsch.KeyPairTest].assertNotNull(byte[])'
    - '[java.io.File].<init>(com.jcraft.jsch.KeyPairTest)'
    - '[com.jcraft.jsch.KeyPairTest].assertTrue(com.jcraft.jsch.KeyPairTest)'
    - '[com.jcraft.jsch.KeyPairTest].assertFalse(boolean)'
    - '[java.io.File].exists()'
    - '[com.jcraft.jsch.KeyPairTest].toURI()'
    - '[com.jcraft.jsch.KeyPairTest].toFile()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.KeyPairTest].assertTrue(byte[])'
    - '[com.jcraft.jsch.KeyPair].isEncrypted()'
    - '[com.jcraft.jsch.KeyPair].getOpenSSHv1PrivateKeyBlob()'
    - '[java.nio.file.Paths].get(com.jcraft.jsch.KeyPairTest)'
    - '[com.jcraft.jsch.IdentityFile].newInstance(com.jcraft.jsch.KeyPairTest,null,InstanceLogger)'
    - ClassLoader.getSystemResource(String)
    - '[com.jcraft.jsch.IdentityFile].getKeyPair()'
    - '[com.jcraft.jsch.KeyPairTest].getAbsolutePath()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairTest].decryptEncryptedOpensshKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyPairTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KeyPairTest].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairTest
    signature: '[com.jcraft.jsch.KeyPairTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: com.jcraft.jsch.LoggerTest:19,1
    - Dst: '[com.jcraft.jsch.Logger].<init>()'
      Src: com.jcraft.jsch.LoggerTest:21,1
    - Dst: '[java.util.ArrayList].clear()'
      Src: com.jcraft.jsch.LoggerTest:35,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.LoggerTest,String)'
      Src: com.jcraft.jsch.LoggerTest:37,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.LoggerTest,String,null)'
      Src: com.jcraft.jsch.LoggerTest:38,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.LoggerTest,String,Exception)'
      Src: com.jcraft.jsch.LoggerTest:39,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: com.jcraft.jsch.LoggerTest:40,1
    - Dst: '[com.jcraft.jsch.LoggerTest].assertEquals(com.jcraft.jsch.LoggerTest,java.util.ArrayList,String)'
      Src: com.jcraft.jsch.LoggerTest:40,1
    - Dst: '[java.io.StringWriter].<init>()'
      Src: com.jcraft.jsch.LoggerTest:42,1
    - Dst: '[java.io.PrintWriter].<init>(java.io.StringWriter,boolean)'
      Src: com.jcraft.jsch.LoggerTest:43,1
    - Dst: '[Exception].printStackTrace(com.jcraft.jsch.LoggerTest)'
      Src: com.jcraft.jsch.LoggerTest:44,1
    - Dst: '[java.util.Arrays].asList(String,String,com.jcraft.jsch.LoggerTest)'
      Src: com.jcraft.jsch.LoggerTest:46,1
    - Dst: '[java.util.ArrayList].clear()'
      Src: com.jcraft.jsch.LoggerTest:50,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.LoggerTest,String)'
      Src: com.jcraft.jsch.LoggerTest:52,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.LoggerTest,String,null)'
      Src: com.jcraft.jsch.LoggerTest:53,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.LoggerTest,String,Exception)'
      Src: com.jcraft.jsch.LoggerTest:54,1
    - Dst: '[com.jcraft.jsch.LoggerTest].assertEquals(com.jcraft.jsch.LoggerTest,java.util.ArrayList,String)'
      Src: com.jcraft.jsch.LoggerTest:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.LoggerTest].testLogging()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/LoggerTest.java
    functionUses: 0
    functionsReached:
    - '[Exception].printStackTrace(com.jcraft.jsch.LoggerTest)'
    - '[java.util.ArrayList].clear()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.LoggerTest,String,null)'
    - '[java.io.PrintWriter].<init>(java.io.StringWriter,boolean)'
    - '[java.util.ArrayList].<init>()'
    - '[java.io.StringWriter].<init>()'
    - '[java.util.Collections].emptyList()'
    - '[java.util.Arrays].asList(String,String,com.jcraft.jsch.LoggerTest)'
    - '[com.jcraft.jsch.LoggerTest].assertEquals(com.jcraft.jsch.LoggerTest,java.util.ArrayList,String)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.LoggerTest,String,Exception)'
    - '[com.jcraft.jsch.Logger].<init>()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.LoggerTest,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.LoggerTest].testLogging()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String)'
      Src: com.jcraft.jsch.LoggerTest:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.LoggerTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.LoggerTest].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/LoggerTest.java
    functionUses: 0
    functionsReached:
    - '[Exception].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.LoggerTest
    signature: '[com.jcraft.jsch.LoggerTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].<init>()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:69,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[com.jcraft.jsch.ServerSigAlgsIT].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ServerSigAlgsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Slf4jLogger].<init>()'
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ServerSigAlgsIT].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:75,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:76,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:79,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:80,1
    - Dst: '[java.nio.file.Files].createFile(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:81,1
    - Dst: '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:82,1
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:85,1
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:85,1
    - Dst: os.write(com.jcraft.jsch.ServerSigAlgsIT)
      Src: com.jcraft.jsch.ServerSigAlgsIT:86,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:89,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:91,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 93
    functionName: '[com.jcraft.jsch.ServerSigAlgsIT].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ServerSigAlgsIT.java
    functionUses: 0
    functionsReached:
    - '[java.util.Random].nextBytes(com.jcraft.jsch.ServerSigAlgsIT)'
    - '[java.nio.file.Path].resolve(String)'
    - os.write(com.jcraft.jsch.ServerSigAlgsIT)
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.ServerSigAlgsIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
    - '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    - '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.ServerSigAlgsIT)'
    - '[java.nio.file.Files].createFile(com.jcraft.jsch.ServerSigAlgsIT)'
    - '[java.util.Random].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ServerSigAlgsIT].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:97,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:98,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: '[com.jcraft.jsch.ServerSigAlgsIT].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ServerSigAlgsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ServerSigAlgsIT].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].createRSAIdentity()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:106,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:107,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:108,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:109,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:110,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:122,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:123,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:124,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:125,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:126,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:127,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 102
    functionDepth: 8
    functionLinenumber: 102
    functionLinenumberEnd: 129
    functionName: '[com.jcraft.jsch.ServerSigAlgsIT].testServerSigAlgs()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ServerSigAlgsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ServerSigAlgsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.ServerSigAlgsIT].createRSAIdentity()'
    - '[com.jcraft.jsch.ServerSigAlgsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.ServerSigAlgsIT)'
    - '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ServerSigAlgsIT].testServerSigAlgs()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].createRSAIdentity()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:135,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].createSession(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:136,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:137,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:138,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:139,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].doSftp(com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:140,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:151,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:152,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:153,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:154,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:155,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:156,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 131
    functionDepth: 8
    functionLinenumber: 131
    functionLinenumberEnd: 158
    functionName: '[com.jcraft.jsch.ServerSigAlgsIT].testNoServerSigAlgs()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ServerSigAlgsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ServerSigAlgsIT].createSession(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.ServerSigAlgsIT].createRSAIdentity()'
    - '[com.jcraft.jsch.ServerSigAlgsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.ServerSigAlgsIT)'
    - '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(com.jcraft.jsch.ServerSigAlgsIT)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ServerSigAlgsIT].testNoServerSigAlgs()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:161,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].readHostKey(String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:161,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:162,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:163,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].getResourceFile(String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:163,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:163,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:164,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: '[com.jcraft.jsch.ServerSigAlgsIT].createRSAIdentity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ServerSigAlgsIT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.ServerSigAlgsIT].getResourceFile(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.ServerSigAlgsIT].readHostKey(String)'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.ServerSigAlgsIT].createRSAIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:169,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.ServerSigAlgsIT,com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:169,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].get(int)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:170,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].split(String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:170,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:172,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:172,1
    - Dst: String.format(com.jcraft.jsch.ServerSigAlgsIT,String,com.jcraft.jsch.ServerSigAlgsIT,com.jcraft.jsch.ServerSigAlgsIT)
      Src: com.jcraft.jsch.ServerSigAlgsIT:172,1
    - Dst: '[java.util.Base64].getDecoder()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:173,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].decode()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:173,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.ServerSigAlgsIT,com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: '[com.jcraft.jsch.ServerSigAlgsIT].readHostKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ServerSigAlgsIT.java
    functionUses: 1
    functionsReached:
    - String.format(com.jcraft.jsch.ServerSigAlgsIT,String,com.jcraft.jsch.ServerSigAlgsIT,com.jcraft.jsch.ServerSigAlgsIT)
    - '[java.nio.file.Paths].get(String)'
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.ServerSigAlgsIT,com.jcraft.jsch.ServerSigAlgsIT)'
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.ServerSigAlgsIT,com.jcraft.jsch.ServerSigAlgsIT)'
    - '[com.jcraft.jsch.ServerSigAlgsIT].get(int)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[com.jcraft.jsch.ServerSigAlgsIT].split(String)'
    - '[com.jcraft.jsch.ServerSigAlgsIT].decode()'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[java.util.Base64].getDecoder()'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.ServerSigAlgsIT].readHostKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:177,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:177,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.ServerSigAlgsIT,com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:177,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:178,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssh
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: '[com.jcraft.jsch.ServerSigAlgsIT].createSession(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ServerSigAlgsIT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.ServerSigAlgsIT,com.jcraft.jsch.ServerSigAlgsIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.ServerSigAlgsIT].createSession(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:185,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:186,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:187,1
    - Dst: sftp.connect(int)
      Src: com.jcraft.jsch.ServerSigAlgsIT:188,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:189,1
    - Dst: sftp.put(com.jcraft.jsch.ServerSigAlgsIT,String)
      Src: com.jcraft.jsch.ServerSigAlgsIT:189,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:190,1
    - Dst: sftp.get(String,com.jcraft.jsch.ServerSigAlgsIT)
      Src: com.jcraft.jsch.ServerSigAlgsIT:190,1
    - Dst: sftp.disconnect()
      Src: com.jcraft.jsch.ServerSigAlgsIT:191,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:192,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].printInfo()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:195,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:200,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].assertEquals(int,int,com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:200,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:201,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].assertEquals(String,com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - debugException
    argTypes:
    - com.jcraft.jsch.Session
    - boolean
    constantsTouched: []
    func_position:
      end: 202
      start: 183
    functionDepth: 7
    functionLinenumber: 183
    functionLinenumberEnd: 202
    functionName: '[com.jcraft.jsch.ServerSigAlgsIT].doSftp(com.jcraft.jsch.Session,boolean)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ServerSigAlgsIT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.ServerSigAlgsIT].assertEquals(int,int,com.jcraft.jsch.ServerSigAlgsIT)'
    - sftp.get(String,com.jcraft.jsch.ServerSigAlgsIT)
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - '[com.jcraft.jsch.ServerSigAlgsIT].assertEquals(String,com.jcraft.jsch.ServerSigAlgsIT)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.ServerSigAlgsIT].printInfo()'
    - sftp.put(com.jcraft.jsch.ServerSigAlgsIT,String)
    - sftp.disconnect()
    - '[java.nio.file.Path].toString()'
    - sftp.connect(int)
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ServerSigAlgsIT].doSftp(com.jcraft.jsch.Session,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:205,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].stream()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:205,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].map()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:205,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].forEach()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:205,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:207,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].stream()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:207,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].map()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:207,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].forEach()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:207,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.ServerSigAlgsIT:209,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.ServerSigAlgsIT:210,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.ServerSigAlgsIT:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: '[com.jcraft.jsch.ServerSigAlgsIT].printInfo()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ServerSigAlgsIT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.ServerSigAlgsIT].stream()'
    - '[com.jcraft.jsch.ServerSigAlgsIT].map()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - System.out.println(String)
    - '[com.jcraft.jsch.ServerSigAlgsIT].forEach()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ServerSigAlgsIT].printInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:215,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].stream()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:215,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].map()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:215,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].filter()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:215,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].findFirst()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:215,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].isPresent()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:218,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].assertTrue(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:218,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].printInfo()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - expected
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ServerSigAlgsIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ServerSigAlgsIT].filter()'
    - '[com.jcraft.jsch.ServerSigAlgsIT].stream()'
    - '[com.jcraft.jsch.ServerSigAlgsIT].printInfo()'
    - '[com.jcraft.jsch.ServerSigAlgsIT].isPresent()'
    - '[com.jcraft.jsch.ServerSigAlgsIT].findFirst()'
    - '[com.jcraft.jsch.ServerSigAlgsIT].map()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - '[com.jcraft.jsch.ServerSigAlgsIT].assertTrue(com.jcraft.jsch.ServerSigAlgsIT)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].getClass()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:226,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.ServerSigAlgsIT,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: '[com.jcraft.jsch.ServerSigAlgsIT].getResourceFile(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ServerSigAlgsIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.ServerSigAlgsIT,String)'
    - '[com.jcraft.jsch.ServerSigAlgsIT].getClass()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ServerSigAlgsIT].getResourceFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:36,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:36,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:37,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:39,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:50,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.ServerSigAlgsIT)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:49,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.ServerSigAlgsIT:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ServerSigAlgsIT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ServerSigAlgsIT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ServerSigAlgsIT.java
    functionUses: 0
    functionsReached:
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.ServerSigAlgsIT)'
    - '[com.jcraft.jsch.ServerSigAlgsIT].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
    - '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
    - '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.ServerSigAlgsIT)'
    linkageType: ''
    returnType: com.jcraft.jsch.ServerSigAlgsIT
    signature: '[com.jcraft.jsch.ServerSigAlgsIT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: com.jcraft.jsch.MockUserInfo:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.UserInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.MockUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 12
    functionName: '[com.jcraft.jsch.MockUserInfo].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/MockUserInfo.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.MockUserInfo
    signature: '[com.jcraft.jsch.MockUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.UserInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: '[com.jcraft.jsch.MockUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/MockUserInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.MockUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.UserInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: '[com.jcraft.jsch.MockUserInfo].getPassword()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/MockUserInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.MockUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<String>].add(String)'
      Src: com.jcraft.jsch.MockUserInfo:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.UserInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: '[com.jcraft.jsch.MockUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/MockUserInfo.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<String>].add(String)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.MockUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<String>].add(String)'
      Src: com.jcraft.jsch.MockUserInfo:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.UserInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.MockUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/MockUserInfo.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<String>].add(String)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.MockUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<String>].add(String)'
      Src: com.jcraft.jsch.MockUserInfo:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.UserInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.MockUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/MockUserInfo.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<String>].add(String)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.MockUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<String>].add(String)'
      Src: com.jcraft.jsch.MockUserInfo:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.UserInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.MockUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/MockUserInfo.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.MockUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.UserInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[com.jcraft.jsch.MockUserInfo].getMessages()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/MockUserInfo.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[com.jcraft.jsch.MockUserInfo].getMessages()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].<init>()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:71,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[com.jcraft.jsch.ExtInfoInAuthIT].beforeAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Slf4jLogger].<init>()'
    - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Slf4jLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ExtInfoInAuthIT].beforeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:77,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:78,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:81,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:82,1
    - Dst: '[java.nio.file.Files].createFile(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:83,1
    - Dst: '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:84,1
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:87,1
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:87,1
    - Dst: os.write(com.jcraft.jsch.ExtInfoInAuthIT)
      Src: com.jcraft.jsch.ExtInfoInAuthIT:88,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:91,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:93,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: '[com.jcraft.jsch.ExtInfoInAuthIT].beforeEach()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Files].newOutputStream(com.jcraft.jsch.ExtInfoInAuthIT)'
    - os.write(com.jcraft.jsch.ExtInfoInAuthIT)
    - '[java.nio.file.Path].resolve(String)'
    - '[org.testcontainers.containers.GenericContainer<?>].followOutput(org.testcontainers.containers.output.Slf4jLogConsumer)'
    - '[org.testcontainers.containers.output.Slf4jLogConsumer].<init>(com.github.valfirst.slf4jtest.TestLogger)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    - '[java.nio.file.Files].createFile(com.jcraft.jsch.ExtInfoInAuthIT)'
    - '[java.util.Random].nextBytes(com.jcraft.jsch.ExtInfoInAuthIT)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(com.jcraft.jsch.ExtInfoInAuthIT)'
    - '[java.util.Random].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ExtInfoInAuthIT].beforeEach()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].setLogger(null)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:99,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:100,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: '[com.jcraft.jsch.ExtInfoInAuthIT].afterAll()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].setLogger(null)'
    - '[com.github.valfirst.slf4jtest.TestLogger].clearAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ExtInfoInAuthIT].afterAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].createRSAIdentity()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:106,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].createSession(com.jcraft.jsch.JSch,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:107,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:108,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:109,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].doSftp(com.jcraft.jsch.Session,String,boolean)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:110,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:119,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:120,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:121,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:122,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:123,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:124,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].checkNoLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 8
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: '[com.jcraft.jsch.ExtInfoInAuthIT].testExtInfoInAuthYes()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].createRSAIdentity()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].doSftp(com.jcraft.jsch.Session,String,boolean)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].createSession(com.jcraft.jsch.JSch,String)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].checkNoLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ExtInfoInAuthIT].testExtInfoInAuthYes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].createRSAIdentity()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:130,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].createSession(com.jcraft.jsch.JSch,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:131,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:132,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:133,1
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:134,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].assertThrows(String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:136,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:145,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:146,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:147,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].checkNoLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:148,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:149,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].checkNoLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:150,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].checkNoLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 152
    functionName: '[com.jcraft.jsch.ExtInfoInAuthIT].testExtInfoInAuthNo()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].createRSAIdentity()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].assertThrows(String)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].createSession(com.jcraft.jsch.JSch,String)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].checkNoLogs(com.jcraft.jsch.ExtInfoInAuthIT)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ExtInfoInAuthIT].testExtInfoInAuthNo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].getResourceFile(String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:155,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].readHostKey(String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:155,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:156,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].getResourceFile(String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:157,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].getResourceFile(String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:157,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:157,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:158,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: '[com.jcraft.jsch.ExtInfoInAuthIT].createRSAIdentity()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.JSch].addIdentity(String,String,null)'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,null)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].getResourceFile(String)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].readHostKey(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.ExtInfoInAuthIT].createRSAIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:163,1
    - Dst: '[java.nio.file.Files].readAllLines(com.jcraft.jsch.ExtInfoInAuthIT,com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:163,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].get(int)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:164,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].split(String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:164,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:166,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:166,1
    - Dst: String.format(com.jcraft.jsch.ExtInfoInAuthIT,String,com.jcraft.jsch.ExtInfoInAuthIT,com.jcraft.jsch.ExtInfoInAuthIT)
      Src: com.jcraft.jsch.ExtInfoInAuthIT:166,1
    - Dst: '[java.util.Base64].getDecoder()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:167,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].decode()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:167,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.ExtInfoInAuthIT,com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: '[com.jcraft.jsch.ExtInfoInAuthIT].readHostKey(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
    functionUses: 1
    functionsReached:
    - '[java.nio.file.Paths].get(String)'
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.ExtInfoInAuthIT,com.jcraft.jsch.ExtInfoInAuthIT)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - String.format(com.jcraft.jsch.ExtInfoInAuthIT,String,com.jcraft.jsch.ExtInfoInAuthIT,com.jcraft.jsch.ExtInfoInAuthIT)
    - '[java.nio.file.Files].readAllLines(com.jcraft.jsch.ExtInfoInAuthIT,com.jcraft.jsch.ExtInfoInAuthIT)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].decode()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].split(String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].get(int)'
    - '[java.util.Base64].getDecoder()'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.ExtInfoInAuthIT].readHostKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getHost()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:171,1
    - Dst: '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:171,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.ExtInfoInAuthIT,com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:171,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:172,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - ssh
    - username
    argTypes:
    - com.jcraft.jsch.JSch
    - String
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: '[com.jcraft.jsch.ExtInfoInAuthIT].createSession(com.jcraft.jsch.JSch,String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.JSch].getSession(String,com.jcraft.jsch.ExtInfoInAuthIT,com.jcraft.jsch.ExtInfoInAuthIT)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[org.testcontainers.containers.GenericContainer<?>].getFirstMappedPort()'
    - '[org.testcontainers.containers.GenericContainer<?>].getHost()'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.ExtInfoInAuthIT].createSession(com.jcraft.jsch.JSch,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String.format(com.jcraft.jsch.ExtInfoInAuthIT,String,String)
      Src: com.jcraft.jsch.ExtInfoInAuthIT:178,1
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:180,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:181,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:182,1
    - Dst: sftp.connect(int)
      Src: com.jcraft.jsch.ExtInfoInAuthIT:183,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:184,1
    - Dst: sftp.put(com.jcraft.jsch.ExtInfoInAuthIT,com.jcraft.jsch.ExtInfoInAuthIT)
      Src: com.jcraft.jsch.ExtInfoInAuthIT:184,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:185,1
    - Dst: sftp.get(com.jcraft.jsch.ExtInfoInAuthIT,com.jcraft.jsch.ExtInfoInAuthIT)
      Src: com.jcraft.jsch.ExtInfoInAuthIT:185,1
    - Dst: sftp.disconnect()
      Src: com.jcraft.jsch.ExtInfoInAuthIT:186,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:187,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].printInfo()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:190,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:195,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].assertEquals(int,int,com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:195,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:196,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].assertEquals(String,com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - username
    - debugException
    argTypes:
    - com.jcraft.jsch.Session
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 197
      start: 177
    functionDepth: 7
    functionLinenumber: 177
    functionLinenumberEnd: 197
    functionName: '[com.jcraft.jsch.ExtInfoInAuthIT].doSftp(com.jcraft.jsch.Session,String,boolean)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
    functionUses: 1
    functionsReached:
    - String.format(com.jcraft.jsch.ExtInfoInAuthIT,String,String)
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].printInfo()'
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].assertEquals(int,int,com.jcraft.jsch.ExtInfoInAuthIT)'
    - sftp.get(com.jcraft.jsch.ExtInfoInAuthIT,com.jcraft.jsch.ExtInfoInAuthIT)
    - sftp.put(com.jcraft.jsch.ExtInfoInAuthIT,com.jcraft.jsch.ExtInfoInAuthIT)
    - '[com.jcraft.jsch.Session].connect()'
    - sftp.disconnect()
    - '[java.nio.file.Path].toString()'
    - sftp.connect(int)
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    - '[org.apache.commons.codec.digest.DigestUtils].digestAsHex(java.nio.file.Path)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].assertEquals(String,com.jcraft.jsch.ExtInfoInAuthIT)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ExtInfoInAuthIT].doSftp(com.jcraft.jsch.Session,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:200,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].stream()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:200,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].map()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:200,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].forEach()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:200,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:202,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].stream()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:202,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].map()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:202,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].forEach()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:202,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.ExtInfoInAuthIT:204,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.ExtInfoInAuthIT:205,1
    - Dst: System.out.println(String)
      Src: com.jcraft.jsch.ExtInfoInAuthIT:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: '[com.jcraft.jsch.ExtInfoInAuthIT].printInfo()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.ExtInfoInAuthIT].stream()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].map()'
    - System.out.println(String)
    - '[com.jcraft.jsch.ExtInfoInAuthIT].forEach()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ExtInfoInAuthIT].printInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:210,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].stream()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:210,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].map()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:210,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].filter()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:210,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].findFirst()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:210,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].isPresent()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:213,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].assertTrue(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:213,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].printInfo()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - expected
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ExtInfoInAuthIT].printInfo()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].stream()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].assertTrue(com.jcraft.jsch.ExtInfoInAuthIT)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].filter()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].findFirst()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].isPresent()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].map()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:221,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].stream()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:221,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].map()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:221,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].filter()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:221,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].findFirst()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:221,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].isPresent()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:224,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].assertFalse(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:224,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].printInfo()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - expected
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: '[com.jcraft.jsch.ExtInfoInAuthIT].checkNoLogs(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ExtInfoInAuthIT].printInfo()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].stream()'
    - '[com.github.valfirst.slf4jtest.TestLogger].getAllLoggingEvents()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].filter()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].findFirst()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].isPresent()'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].assertFalse(com.jcraft.jsch.ExtInfoInAuthIT)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].map()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ExtInfoInAuthIT].checkNoLogs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].getClass()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:232,1
    - Dst: '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.ExtInfoInAuthIT,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: '[com.jcraft.jsch.ExtInfoInAuthIT].getResourceFile(String)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ResourceUtil].getResourceFile(com.jcraft.jsch.ExtInfoInAuthIT,String)'
    - '[com.jcraft.jsch.ExtInfoInAuthIT].getClass()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ExtInfoInAuthIT].getResourceFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:38,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:38,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:39,1
    - Dst: '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:41,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:52,1
    - Dst: '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.ExtInfoInAuthIT)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:51,1
    - Dst: '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
      Src: com.jcraft.jsch.ExtInfoInAuthIT:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.apache.commons.codec.digest.DigestUtils
      - com.github.valfirst.slf4jtest.TestLogger
      - com.github.valfirst.slf4jtest.TestLogger
      - java.nio.file.Path
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - org.testcontainers.containers.output.Slf4jLogConsumer
      - org.testcontainers.containers.GenericContainer<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ExtInfoInAuthIT
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ExtInfoInAuthIT].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ExtInfoInAuthIT].withFileFromClasspath(String,String)'
    - '[org.testcontainers.containers.GenericContainer].<init>(com.jcraft.jsch.ExtInfoInAuthIT)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].withFileFromClasspath(String,String)'
    - '[org.testcontainers.images.builder.ImageFromDockerfile].<init>()'
    - '[org.testcontainers.containers.GenericContainer].withExposedPorts(int)'
    - '[com.github.valfirst.slf4jtest.TestLoggerFactory].getTestLogger()'
    - '[org.apache.commons.codec.digest.DigestUtils].getSha256Digest()'
    - '[org.apache.commons.codec.digest.DigestUtils].<init>(com.jcraft.jsch.ExtInfoInAuthIT)'
    linkageType: ''
    returnType: com.jcraft.jsch.ExtInfoInAuthIT
    signature: '[com.jcraft.jsch.ExtInfoInAuthIT].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].<init>()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:39,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].<init>()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jzlib.DeflateInflateTest].before()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflateInflateTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].<init>()'
    - '[com.jcraft.jsch.jzlib.Deflater].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflateInflateTest].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.jzlib.DeflateInflateTest].after()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflateInflateTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflateInflateTest].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].init(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:50,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:51,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setInput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:53,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:54,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:56,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:57,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(int,com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:59,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].params(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:61,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setInput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:62,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:65,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:66,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].params(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:68,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setInput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:69,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:72,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:73,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].deflate(int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:75,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:76,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].end()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:78,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:79,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:81,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:83,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:84,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:88,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].inflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:89,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:93,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].end()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:96,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:97,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 102
    functionName: '[com.jcraft.jsch.jzlib.DeflateInflateTest].testDeflaterAndInflaterCanDeflateAndInflateDataInLargeBuffer()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflateInflateTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].end()'
    - '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
    - '[com.jcraft.jsch.jzlib.Deflater].setInput(byte[])'
    - '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
    - '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Deflater].end()'
    - '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[])'
    - '[com.jcraft.jsch.jzlib.Deflater].deflate(int)'
    - '[com.jcraft.jsch.jzlib.Deflater].init(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(int,com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].init()'
    - '[com.jcraft.jsch.jzlib.Deflater].setOutput(byte[])'
    - '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].inflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Deflater].params(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflateInflateTest].testDeflaterAndInflaterCanDeflateAndInflateDataInLargeBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:106,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].init(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:108,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:109,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setInput(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:111,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:112,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:117,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:118,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:123,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].end()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:126,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:127,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:129,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:130,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:132,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:133,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].inflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:139,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:143,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].end()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:146,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:147,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.DeflateInflateTest,int,com.jcraft.jsch.jzlib.DeflateInflateTest)
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:151,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertArrayEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 154
    functionName: '[com.jcraft.jsch.jzlib.DeflateInflateTest].testDeflaterAndInflaterCanDeflateAndInflateDataInSmallBuffer()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflateInflateTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
    - '[String].getBytes(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
    - '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertArrayEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Deflater].end()'
    - '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[])'
    - '[com.jcraft.jsch.jzlib.Deflater].init(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].init()'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.DeflateInflateTest,int,com.jcraft.jsch.jzlib.DeflateInflateTest)
    - '[com.jcraft.jsch.jzlib.Deflater].setOutput(byte[])'
    - '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].inflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Deflater].setInput(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].end()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflateInflateTest].testDeflaterAndInflaterCanDeflateAndInflateDataInSmallBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:158,1
    - Dst: '[String].getBytes(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:159,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].init(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:161,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:162,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setDictionary(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:164,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:165,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].getAdler()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:167,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setInput(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:169,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:170,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:172,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:173,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].end()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:175,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:176,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:178,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:179,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:181,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:182,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].inflate(int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:186,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].getAdler()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:192,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:192,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setDictionary(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:193,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:194,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:197,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].end()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:202,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:203,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.DeflateInflateTest,int,com.jcraft.jsch.jzlib.DeflateInflateTest)
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:207,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertArrayEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 210
    functionName: '[com.jcraft.jsch.jzlib.DeflateInflateTest].testDeflaterAndInflaterSupportDictionary()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflateInflateTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflater].end()'
    - '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[])'
    - '[com.jcraft.jsch.jzlib.Deflater].getAdler()'
    - '[com.jcraft.jsch.jzlib.Inflater].init()'
    - '[com.jcraft.jsch.jzlib.Inflater].setDictionary(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].inflate(int)'
    - '[com.jcraft.jsch.jzlib.Deflater].setDictionary(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Deflater].setOutput(byte[])'
    - '[com.jcraft.jsch.jzlib.Inflater].getAdler()'
    - '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertArrayEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Deflater].init(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.DeflateInflateTest,int,com.jcraft.jsch.jzlib.DeflateInflateTest)
    - '[com.jcraft.jsch.jzlib.Inflater].end()'
    - '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
    - '[String].getBytes(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
    - '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Deflater].setInput(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflateInflateTest].testDeflaterAndInflaterSupportDictionary()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:214,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].init(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:216,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:217,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setInput(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:219,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:221,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:223,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:224,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:229,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:230,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].end()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:233,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:234,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:236,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:237,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:239,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:242,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].inflate(int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:244,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:245,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].sync()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:248,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].inflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:250,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:251,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].end()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:253,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:254,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.DeflateInflateTest,int,com.jcraft.jsch.jzlib.DeflateInflateTest)
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:258,1
    - Dst: '[String].<init>(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:260,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 261
    functionName: '[com.jcraft.jsch.jzlib.DeflateInflateTest].testDeflaterAndInflaterSupportSync()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflateInflateTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
    - '[String].getBytes(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(String,String)'
    - '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
    - '[com.jcraft.jsch.jzlib.Deflater].end()'
    - '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[])'
    - '[String].<init>(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].sync()'
    - '[com.jcraft.jsch.jzlib.Deflater].init(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].init()'
    - '[com.jcraft.jsch.jzlib.Inflater].inflate(int)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.DeflateInflateTest,int,com.jcraft.jsch.jzlib.DeflateInflateTest)
    - '[com.jcraft.jsch.jzlib.Deflater].setOutput(byte[])'
    - '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].inflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Deflater].setInput(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].end()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflateInflateTest].testDeflaterAndInflaterSupportSync()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:265,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init(int,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:271,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:272,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setInput(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:274,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:275,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].inflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:281,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:285,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].end()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:288,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:289,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.DeflateInflateTest,int,com.jcraft.jsch.jzlib.DeflateInflateTest)
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:293,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertArrayEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 296
    functionName: '[com.jcraft.jsch.jzlib.DeflateInflateTest].testInflaterCanInflateGzipData()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflateInflateTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
    - '[String].getBytes(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
    - '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertArrayEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].init(int,int)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.DeflateInflateTest,int,com.jcraft.jsch.jzlib.DeflateInflateTest)
    - '[com.jcraft.jsch.jzlib.Inflater].setInput(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].inflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].end()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflateInflateTest].testInflaterCanInflateGzipData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:300,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].init(com.jcraft.jsch.jzlib.DeflateInflateTest,int,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:302,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:303,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setInput(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:305,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:306,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:311,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:312,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:317,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].end()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:320,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:321,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:323,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:324,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init(int,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:326,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:327,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].inflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:333,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:337,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].end()'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:340,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:341,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.DeflateInflateTest,int,com.jcraft.jsch.jzlib.DeflateInflateTest)
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:345,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertArrayEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
      Src: com.jcraft.jsch.jzlib.DeflateInflateTest:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 348
    functionName: '[com.jcraft.jsch.jzlib.DeflateInflateTest].testInflaterAndDeflaterCanSupportGzipData()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflateInflateTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,int)'
    - '[String].getBytes(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
    - '[com.jcraft.jsch.jzlib.DeflateInflateTest].assertArrayEquals(com.jcraft.jsch.jzlib.DeflateInflateTest,com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Deflater].end()'
    - '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[])'
    - '[com.jcraft.jsch.jzlib.Inflater].init(int,int)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.DeflateInflateTest,int,com.jcraft.jsch.jzlib.DeflateInflateTest)
    - '[com.jcraft.jsch.jzlib.Deflater].setOutput(byte[])'
    - '[com.jcraft.jsch.jzlib.Deflater].deflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Deflater].init(com.jcraft.jsch.jzlib.DeflateInflateTest,int,int)'
    - '[com.jcraft.jsch.jzlib.Inflater].inflate(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Deflater].setInput(com.jcraft.jsch.jzlib.DeflateInflateTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].end()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflateInflateTest].testInflaterAndDeflaterCanSupportGzipData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.DeflateInflateTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.DeflateInflateTest].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflateInflateTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.DeflateInflateTest
    signature: '[com.jcraft.jsch.jzlib.DeflateInflateTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - java.util.List<Case>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: '[com.jcraft.jsch.jzlib.WrapperTypeTest].before()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/WrapperTypeTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.WrapperTypeTest].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - java.util.List<Case>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.jzlib.WrapperTypeTest].after()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/WrapperTypeTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.WrapperTypeTest].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].uncheckedConsumer()'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:64,1
    - Dst: '[java.util.List<Case>].forEach(com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - java.util.List<Case>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 95
    functionName: '[com.jcraft.jsch.jzlib.WrapperTypeTest].testDeflaterCanDetectDataTypeOfInput()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/WrapperTypeTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<Case>].forEach(com.jcraft.jsch.jzlib.WrapperTypeTest)'
    - '[com.jcraft.jsch.jzlib.WrapperTypeTest].uncheckedConsumer()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.WrapperTypeTest].testDeflaterCanDetectDataTypeOfInput()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<Case>].forEach()'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - java.util.List<Case>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: '[com.jcraft.jsch.jzlib.WrapperTypeTest].testZStreamCanDetectDataTypeOfInput()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/WrapperTypeTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<Case>].forEach()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.WrapperTypeTest].testZStreamCanDetectDataTypeOfInput()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].<init>()'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:122,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].init(com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:123,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:124,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].deflate(com.jcraft.jsch.jzlib.Deflater,byte[],byte[])'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:126,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].<init>()'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:128,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init(int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:129,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:130,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[])'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:132,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:136,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].inflate(com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:137,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:141,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].end()'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:143,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:144,1
    - Dst: '[String].<init>(byte[],com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:147,1
    - Dst: '[String].<init>(byte[],int,com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:147,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:147,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].<init>()'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:149,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].init(com.jcraft.jsch.jzlib.WrapperTypeTest,int,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:150,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:151,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].deflate(com.jcraft.jsch.jzlib.Deflater,byte[],byte[])'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:153,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].<init>()'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:155,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init(int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:156,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:157,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[])'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:159,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:163,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].inflate(com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:164,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:168,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].end()'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:170,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:171,1
    - Dst: '[String].<init>(byte[],com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:174,1
    - Dst: '[String].<init>(byte[],int,com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:174,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(String,String)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 53
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - java.util.List<Case>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 175
    functionName: '[com.jcraft.jsch.jzlib.WrapperTypeTest].testDeflaterCanSupportWbitsPlus32()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/WrapperTypeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].init(int)'
    - '[String].<init>(byte[],int,com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[])'
    - '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[])'
    - '[String].<init>(byte[],com.jcraft.jsch.jzlib.WrapperTypeTest)'
    - '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
    - '[com.jcraft.jsch.jzlib.Deflater].init(com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
    - '[com.jcraft.jsch.jzlib.Deflater].<init>()'
    - '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(String,String)'
    - '[com.jcraft.jsch.jzlib.Deflater].init(com.jcraft.jsch.jzlib.WrapperTypeTest,int,int)'
    - '[com.jcraft.jsch.jzlib.Inflater].<init>()'
    - '[com.jcraft.jsch.jzlib.WrapperTypeTest].deflate(com.jcraft.jsch.jzlib.Deflater,byte[],byte[])'
    - '[com.jcraft.jsch.jzlib.Inflater].inflate(com.jcraft.jsch.jzlib.WrapperTypeTest)'
    - '[com.jcraft.jsch.jzlib.Inflater].end()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.WrapperTypeTest].testDeflaterCanSupportWbitsPlus32()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[])'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:178,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:179,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].deflate(int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:181,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:182,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].end()'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:184,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.jzlib.ZStream
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - java.util.List<Case>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - deflater
    - data
    - compr
    argTypes:
    - com.jcraft.jsch.jzlib.ZStream
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 6
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: '[com.jcraft.jsch.jzlib.WrapperTypeTest].deflate(com.jcraft.jsch.jzlib.ZStream,byte[],byte[])'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/WrapperTypeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[])'
    - '[com.jcraft.jsch.jzlib.ZStream].deflate(int)'
    - '[com.jcraft.jsch.jzlib.ZStream].end()'
    - '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
    - '[com.jcraft.jsch.jzlib.ZStream].setOutput(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.WrapperTypeTest].deflate(com.jcraft.jsch.jzlib.ZStream,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].<init>()'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:189,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(com.jcraft.jsch.jzlib.JZlib.WrapperType)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:190,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:191,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[])'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:193,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:197,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].inflate(com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:198,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:202,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].end()'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:204,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - com.jcraft.jsch.jzlib.JZlib.WrapperType
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - java.util.List<Case>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.ZStream
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - compr
    - uncompr
    - w
    argTypes:
    - byte[]
    - byte[]
    - com.jcraft.jsch.jzlib.JZlib.WrapperType
    constantsTouched: []
    func_position:
      end: 208
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 208
    functionName: '[com.jcraft.jsch.jzlib.WrapperTypeTest].inflate(byte[],byte[],com.jcraft.jsch.jzlib.JZlib.WrapperType)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/WrapperTypeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].inflate(com.jcraft.jsch.jzlib.WrapperTypeTest)'
    - '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[])'
    - '[com.jcraft.jsch.jzlib.ZStream].inflateInit(com.jcraft.jsch.jzlib.JZlib.WrapperType)'
    - '[com.jcraft.jsch.jzlib.ZStream].<init>()'
    - '[com.jcraft.jsch.jzlib.ZStream].end()'
    - '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
    - '[com.jcraft.jsch.jzlib.ZStream].setOutput(byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.ZStream
    signature: '[com.jcraft.jsch.jzlib.WrapperTypeTest].inflate(byte[],byte[],com.jcraft.jsch.jzlib.JZlib.WrapperType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].<init>()'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:211,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(com.jcraft.jsch.jzlib.JZlib.WrapperType)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:213,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:214,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[])'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:216,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].setOutput(byte[])'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:220,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].inflate(com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:221,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - com.jcraft.jsch.jzlib.JZlib.WrapperType
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - java.util.List<Case>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - compr
    - uncompr
    - w
    argTypes:
    - byte[]
    - byte[]
    - com.jcraft.jsch.jzlib.JZlib.WrapperType
    constantsTouched: []
    func_position:
      end: 229
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 229
    functionName: '[com.jcraft.jsch.jzlib.WrapperTypeTest].inflate_fail(byte[],byte[],com.jcraft.jsch.jzlib.JZlib.WrapperType)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/WrapperTypeTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].inflate(com.jcraft.jsch.jzlib.WrapperTypeTest)'
    - '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[])'
    - '[com.jcraft.jsch.jzlib.ZStream].inflateInit(com.jcraft.jsch.jzlib.JZlib.WrapperType)'
    - '[com.jcraft.jsch.jzlib.ZStream].<init>()'
    - '[com.jcraft.jsch.jzlib.WrapperTypeTest].assertEquals(com.jcraft.jsch.jzlib.WrapperTypeTest,int)'
    - '[com.jcraft.jsch.jzlib.ZStream].setOutput(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.WrapperTypeTest].inflate_fail(byte[],byte[],com.jcraft.jsch.jzlib.JZlib.WrapperType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:35,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:45,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:45,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest.Case].<init>(com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:45,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:46,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:46,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest.Case].<init>(com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:46,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:47,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:47,1
    - Dst: '[com.jcraft.jsch.jzlib.WrapperTypeTest.Case].<init>(com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:47,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.WrapperTypeTest.Case,com.jcraft.jsch.jzlib.WrapperTypeTest.Case,com.jcraft.jsch.jzlib.WrapperTypeTest.Case)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - java.util.List<Case>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.WrapperTypeTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.WrapperTypeTest].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/WrapperTypeTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest)'
    - '[String].getBytes(com.jcraft.jsch.jzlib.WrapperTypeTest)'
    - '[com.jcraft.jsch.jzlib.WrapperTypeTest.Case].<init>(com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest,com.jcraft.jsch.jzlib.WrapperTypeTest)'
    - '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.WrapperTypeTest.Case,com.jcraft.jsch.jzlib.WrapperTypeTest.Case,com.jcraft.jsch.jzlib.WrapperTypeTest.Case)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.WrapperTypeTest
    signature: '[com.jcraft.jsch.jzlib.WrapperTypeTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.jzlib.JZlib.WrapperType
      - java.util.List<com.jcraft.jsch.jzlib.JZlib.WrapperType>
      - java.util.List<com.jcraft.jsch.jzlib.JZlib.WrapperType>
      classConcrete: true
      classEnum: false
      classFields:
      - WrapperType
      - List<WrapperType>
      - List<WrapperType>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.WrapperTypeTest.Case
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - iflag
    - good
    - bad
    argTypes:
    - com.jcraft.jsch.jzlib.JZlib.WrapperType
    - java.util.List<com.jcraft.jsch.jzlib.JZlib.WrapperType>
    - java.util.List<com.jcraft.jsch.jzlib.JZlib.WrapperType>
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: '[com.jcraft.jsch.jzlib.WrapperTypeTest.Case].<init>(com.jcraft.jsch.jzlib.JZlib.WrapperType,java.util.List<com.jcraft.jsch.jzlib.JZlib.WrapperType>,java.util.List<com.jcraft.jsch.jzlib.JZlib.WrapperType>)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/WrapperTypeTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.WrapperTypeTest.Case
    signature: '[com.jcraft.jsch.jzlib.WrapperTypeTest.Case].<init>(com.jcraft.jsch.jzlib.JZlib.WrapperType,java.util.List<com.jcraft.jsch.jzlib.JZlib.WrapperType>,java.util.List<com.jcraft.jsch.jzlib.JZlib.WrapperType>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.WrapperTypeTest.Tuple
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - int
    - int
    - long
    - long
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: '[com.jcraft.jsch.jzlib.WrapperTypeTest.Tuple].<init>(int,int,long,long)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/WrapperTypeTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.WrapperTypeTest.Tuple
    signature: '[com.jcraft.jsch.jzlib.WrapperTypeTest.Tuple].<init>(int,int,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: '[com.jcraft.jsch.jzlib.WrapperTypeTest.Tuple].equals(Object)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/WrapperTypeTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jzlib.WrapperTypeTest.Tuple].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].hash(int,int,long,long)'
      Src: com.jcraft.jsch.jzlib.WrapperTypeTest.Tuple:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: '[com.jcraft.jsch.jzlib.WrapperTypeTest.Tuple].hashCode()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/WrapperTypeTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].hash(int,int,long,long)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.WrapperTypeTest.Tuple].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].<init>()'
      Src: com.jcraft.jsch.jzlib.CRC32Test:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.CRC32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: '[com.jcraft.jsch.jzlib.CRC32Test].before()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/CRC32Test.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.CRC32].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.CRC32Test].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.CRC32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: '[com.jcraft.jsch.jzlib.CRC32Test].after()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/CRC32Test.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.CRC32Test].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.CRC32Test].randombuf(int)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:25,1
    - Dst: '[java.util.zip.CRC32].<init>()'
      Src: com.jcraft.jsch.jzlib.CRC32Test:26,1
    - Dst: '[java.util.zip.CRC32].update(com.jcraft.jsch.jzlib.CRC32Test,int,com.jcraft.jsch.jzlib.CRC32Test)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:27,1
    - Dst: '[java.util.zip.CRC32].getValue()'
      Src: com.jcraft.jsch.jzlib.CRC32Test:28,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.CRC32Test)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:29,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32Test].getValue(com.jcraft.jsch.jzlib.CRC32Test)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:29,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32Test].assertEquals(com.jcraft.jsch.jzlib.CRC32Test,long)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.CRC32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.jzlib.CRC32Test].testCRC32IsCompatibleWithJavaUtilZipCRC32()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/CRC32Test.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.CRC32].getValue()'
    - '[java.util.zip.CRC32].update(com.jcraft.jsch.jzlib.CRC32Test,int,com.jcraft.jsch.jzlib.CRC32Test)'
    - '[java.util.zip.CRC32].<init>()'
    - '[com.jcraft.jsch.jzlib.CRC32Test].randombuf(int)'
    - '[com.jcraft.jsch.jzlib.CRC32Test].getValue(com.jcraft.jsch.jzlib.CRC32Test)'
    - '[com.jcraft.jsch.jzlib.CRC32Test].assertEquals(com.jcraft.jsch.jzlib.CRC32Test,long)'
    - '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.CRC32Test)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.CRC32Test].testCRC32IsCompatibleWithJavaUtilZipCRC32()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.CRC32Test].randombuf(int)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:36,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32Test].randombuf(int)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:37,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].<init>()'
      Src: com.jcraft.jsch.jzlib.CRC32Test:39,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].update(com.jcraft.jsch.jzlib.CRC32Test,int,com.jcraft.jsch.jzlib.CRC32Test)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:41,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].copy()'
      Src: com.jcraft.jsch.jzlib.CRC32Test:43,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].update(com.jcraft.jsch.jzlib.CRC32Test,int,com.jcraft.jsch.jzlib.CRC32Test)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:45,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].update(com.jcraft.jsch.jzlib.CRC32Test,int,com.jcraft.jsch.jzlib.CRC32Test)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:46,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].getValue()'
      Src: com.jcraft.jsch.jzlib.CRC32Test:48,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].getValue()'
      Src: com.jcraft.jsch.jzlib.CRC32Test:49,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32Test].assertEquals(long,long)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.CRC32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: '[com.jcraft.jsch.jzlib.CRC32Test].testCRC2CanCopyItself()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/CRC32Test.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.CRC32].update(com.jcraft.jsch.jzlib.CRC32Test,int,com.jcraft.jsch.jzlib.CRC32Test)'
    - '[com.jcraft.jsch.jzlib.CRC32Test].assertEquals(long,long)'
    - '[com.jcraft.jsch.jzlib.CRC32].<init>()'
    - '[com.jcraft.jsch.jzlib.CRC32Test].randombuf(int)'
    - '[com.jcraft.jsch.jzlib.CRC32].copy()'
    - '[com.jcraft.jsch.jzlib.CRC32].getValue()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.CRC32Test].testCRC2CanCopyItself()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.CRC32Test].randombuf(int)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:57,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32Test].randombuf(int)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:58,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.CRC32Test)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:60,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32Test].getValue(com.jcraft.jsch.jzlib.CRC32Test)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:60,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.CRC32Test)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:61,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32Test].getValue(com.jcraft.jsch.jzlib.CRC32Test)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:61,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.CRC32Test,com.jcraft.jsch.jzlib.CRC32Test)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:62,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32Test].getValue(com.jcraft.jsch.jzlib.CRC32Test)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:62,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].combine(long,long,com.jcraft.jsch.jzlib.CRC32Test)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:64,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32Test].assertEquals(long,long)'
      Src: com.jcraft.jsch.jzlib.CRC32Test:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.CRC32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: '[com.jcraft.jsch.jzlib.CRC32Test].testCRC32CanCombineValues()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/CRC32Test.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.CRC32Test].assertEquals(long,long)'
    - '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.CRC32Test,com.jcraft.jsch.jzlib.CRC32Test)'
    - '[com.jcraft.jsch.jzlib.CRC32Test].randombuf(int)'
    - '[com.jcraft.jsch.jzlib.CRC32Test].getValue(com.jcraft.jsch.jzlib.CRC32Test)'
    - '[com.jcraft.jsch.jzlib.CRC32].combine(long,long,com.jcraft.jsch.jzlib.CRC32Test)'
    - '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.CRC32Test)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.CRC32Test].testCRC32CanCombineValues()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].reset()'
      Src: com.jcraft.jsch.jzlib.CRC32Test:70,1
    - Dst: '[java.util.List<byte[]>].forEach()'
      Src: com.jcraft.jsch.jzlib.CRC32Test:71,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].getValue()'
      Src: com.jcraft.jsch.jzlib.CRC32Test:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<byte[]>
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.CRC32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - java.util.List<byte[]>
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '[com.jcraft.jsch.jzlib.CRC32Test].getValue(java.util.List<byte[]>)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/CRC32Test.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<byte[]>].forEach()'
    - '[com.jcraft.jsch.jzlib.CRC32].reset()'
    - '[com.jcraft.jsch.jzlib.CRC32].getValue()'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.CRC32Test].getValue(java.util.List<byte[]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.CRC32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.CRC32Test
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.CRC32Test].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/CRC32Test.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.CRC32Test
    signature: '[com.jcraft.jsch.jzlib.CRC32Test].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].<init>()'
      Src: com.jcraft.jsch.jzlib.Adler32Test:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Adler32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: '[com.jcraft.jsch.jzlib.Adler32Test].before()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Adler32Test.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Adler32].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Adler32Test].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Adler32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: '[com.jcraft.jsch.jzlib.Adler32Test].after()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Adler32Test.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Adler32Test].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Adler32Test].randombuf(int)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:25,1
    - Dst: '[java.util.zip.Adler32].<init>()'
      Src: com.jcraft.jsch.jzlib.Adler32Test:26,1
    - Dst: '[java.util.zip.Adler32].update(com.jcraft.jsch.jzlib.Adler32Test,int,com.jcraft.jsch.jzlib.Adler32Test)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:27,1
    - Dst: '[java.util.zip.Adler32].getValue()'
      Src: com.jcraft.jsch.jzlib.Adler32Test:28,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.Adler32Test)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:29,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32Test].getValue(com.jcraft.jsch.jzlib.Adler32Test)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:29,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32Test].assertEquals(com.jcraft.jsch.jzlib.Adler32Test,long)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Adler32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.jzlib.Adler32Test].testAdler32IsCompatibleWithJavaUtilZipAdler32()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Adler32Test.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.Adler32].update(com.jcraft.jsch.jzlib.Adler32Test,int,com.jcraft.jsch.jzlib.Adler32Test)'
    - '[java.util.zip.Adler32].<init>()'
    - '[com.jcraft.jsch.jzlib.Adler32Test].getValue(com.jcraft.jsch.jzlib.Adler32Test)'
    - '[com.jcraft.jsch.jzlib.Adler32Test].randombuf(int)'
    - '[java.util.zip.Adler32].getValue()'
    - '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.Adler32Test)'
    - '[com.jcraft.jsch.jzlib.Adler32Test].assertEquals(com.jcraft.jsch.jzlib.Adler32Test,long)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Adler32Test].testAdler32IsCompatibleWithJavaUtilZipAdler32()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Adler32Test].randombuf(int)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:36,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32Test].randombuf(int)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:37,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].<init>()'
      Src: com.jcraft.jsch.jzlib.Adler32Test:39,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].update(com.jcraft.jsch.jzlib.Adler32Test,int,com.jcraft.jsch.jzlib.Adler32Test)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:41,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].copy()'
      Src: com.jcraft.jsch.jzlib.Adler32Test:43,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].update(com.jcraft.jsch.jzlib.Adler32Test,int,com.jcraft.jsch.jzlib.Adler32Test)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:45,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].update(com.jcraft.jsch.jzlib.Adler32Test,int,com.jcraft.jsch.jzlib.Adler32Test)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:46,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].getValue()'
      Src: com.jcraft.jsch.jzlib.Adler32Test:48,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].getValue()'
      Src: com.jcraft.jsch.jzlib.Adler32Test:49,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32Test].assertEquals(long,long)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Adler32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: '[com.jcraft.jsch.jzlib.Adler32Test].testAdler32CanCopyItself()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Adler32Test.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Adler32].copy()'
    - '[com.jcraft.jsch.jzlib.Adler32Test].randombuf(int)'
    - '[com.jcraft.jsch.jzlib.Adler32].<init>()'
    - '[com.jcraft.jsch.jzlib.Adler32].getValue()'
    - '[com.jcraft.jsch.jzlib.Adler32Test].assertEquals(long,long)'
    - '[com.jcraft.jsch.jzlib.Adler32].update(com.jcraft.jsch.jzlib.Adler32Test,int,com.jcraft.jsch.jzlib.Adler32Test)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Adler32Test].testAdler32CanCopyItself()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Adler32Test].randombuf(int)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:57,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32Test].randombuf(int)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:58,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.Adler32Test)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:60,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32Test].getValue(com.jcraft.jsch.jzlib.Adler32Test)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:60,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.Adler32Test)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:61,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32Test].getValue(com.jcraft.jsch.jzlib.Adler32Test)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:61,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.Adler32Test,com.jcraft.jsch.jzlib.Adler32Test)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:62,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32Test].getValue(com.jcraft.jsch.jzlib.Adler32Test)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:62,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].combine(long,long,com.jcraft.jsch.jzlib.Adler32Test)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:64,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32Test].assertEquals(long,long)'
      Src: com.jcraft.jsch.jzlib.Adler32Test:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Adler32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: '[com.jcraft.jsch.jzlib.Adler32Test].testAdler32CanCombineValues()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Adler32Test.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Adler32Test].getValue(com.jcraft.jsch.jzlib.Adler32Test)'
    - '[com.jcraft.jsch.jzlib.Adler32].combine(long,long,com.jcraft.jsch.jzlib.Adler32Test)'
    - '[com.jcraft.jsch.jzlib.Adler32Test].randombuf(int)'
    - '[com.jcraft.jsch.jzlib.Adler32Test].assertEquals(long,long)'
    - '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.Adler32Test)'
    - '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.Adler32Test,com.jcraft.jsch.jzlib.Adler32Test)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Adler32Test].testAdler32CanCombineValues()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].reset()'
      Src: com.jcraft.jsch.jzlib.Adler32Test:70,1
    - Dst: '[java.util.List<byte[]>].forEach()'
      Src: com.jcraft.jsch.jzlib.Adler32Test:71,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].getValue()'
      Src: com.jcraft.jsch.jzlib.Adler32Test:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<byte[]>
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Adler32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - java.util.List<byte[]>
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '[com.jcraft.jsch.jzlib.Adler32Test].getValue(java.util.List<byte[]>)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Adler32Test.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Adler32].getValue()'
    - '[java.util.List<byte[]>].forEach()'
    - '[com.jcraft.jsch.jzlib.Adler32].reset()'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.Adler32Test].getValue(java.util.List<byte[]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Adler32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.Adler32Test
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.Adler32Test].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Adler32Test.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Adler32Test
    signature: '[com.jcraft.jsch.jzlib.Adler32Test].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].read(byte[])'
      Src: com.jcraft.jsch.jzlib.Package:15,1
    - Dst: '[java.io.OutputStream].write(byte[],int,com.jcraft.jsch.jzlib.Package)'
      Src: com.jcraft.jsch.jzlib.Package:16,1
    - Dst: '[java.io.InputStream].close()'
      Src: com.jcraft.jsch.jzlib.Package:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - java.io.OutputStream
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - is
    - out
    - buf
    argTypes:
    - java.io.InputStream
    - java.io.OutputStream
    - byte[]
    constantsTouched: []
    func_position:
      end: 19
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 19
    functionName: '[com.jcraft.jsch.jzlib.Package].readIS(java.io.InputStream,java.io.OutputStream,byte[])'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Package.java
    functionUses: 0
    functionsReached:
    - '[java.io.InputStream].close()'
    - '[java.io.OutputStream].write(byte[],int,com.jcraft.jsch.jzlib.Package)'
    - '[java.io.InputStream].read(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Package].readIS(java.io.InputStream,java.io.OutputStream,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayInputStream].<init>(byte[])'
      Src: com.jcraft.jsch.jzlib.Package:22,1
    - Dst: '[com.jcraft.jsch.jzlib.Package].readIS(java.io.ByteArrayInputStream,java.io.OutputStream,byte[])'
      Src: com.jcraft.jsch.jzlib.Package:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - java.io.OutputStream
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - is
    - out
    - buf
    argTypes:
    - byte[]
    - java.io.OutputStream
    - byte[]
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: '[com.jcraft.jsch.jzlib.Package].readArray(byte[],java.io.OutputStream,byte[])'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Package.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Package].readIS(java.io.ByteArrayInputStream,java.io.OutputStream,byte[])'
    - '[java.io.ByteArrayInputStream].<init>(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Package].readArray(byte[],java.io.OutputStream,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].<init>()'
      Src: com.jcraft.jsch.jzlib.Package:26,1
    - Dst: '[java.util.Random].nextBytes(com.jcraft.jsch.jzlib.Package)'
      Src: com.jcraft.jsch.jzlib.Package:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.jzlib.Package].randombuf(int)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Package.java
    functionUses: 0
    functionsReached:
    - '[java.util.Random].<init>()'
    - '[java.util.Random].nextBytes(com.jcraft.jsch.jzlib.Package)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jzlib.Package].randombuf(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IOConsumer<T>].accept(com.jcraft.jsch.jzlib.Package)'
      Src: com.jcraft.jsch.jzlib.Package:35,1
    - Dst: '[java.io.UncheckedIOException].<init>(com.jcraft.jsch.jzlib.Package)'
      Src: com.jcraft.jsch.jzlib.Package:37,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - IOConsumer<T>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.function.Consumer<T>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - consumer
    argTypes:
    - IOConsumer<T>
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.jzlib.Package].uncheckedConsumer(IOConsumer<T>)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Package.java
    functionUses: 0
    functionsReached:
    - '[java.io.UncheckedIOException].<init>(com.jcraft.jsch.jzlib.Package)'
    - '[IOConsumer<T>].accept(com.jcraft.jsch.jzlib.Package)'
    linkageType: ''
    returnType: java.util.function.Consumer<T>
    signature: '[com.jcraft.jsch.jzlib.Package].uncheckedConsumer(IOConsumer<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IOFunction<T,R>].apply(com.jcraft.jsch.jzlib.Package)'
      Src: com.jcraft.jsch.jzlib.Package:45,1
    - Dst: '[java.io.UncheckedIOException].<init>(com.jcraft.jsch.jzlib.Package)'
      Src: com.jcraft.jsch.jzlib.Package:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - IOFunction<T,R>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.function.Function<T,R>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - function
    argTypes:
    - IOFunction<T,R>
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: '[com.jcraft.jsch.jzlib.Package].uncheckedFunction(IOFunction<T,R>)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Package.java
    functionUses: 0
    functionsReached:
    - '[IOFunction<T,R>].apply(com.jcraft.jsch.jzlib.Package)'
    - '[java.io.UncheckedIOException].<init>(com.jcraft.jsch.jzlib.Package)'
    linkageType: ''
    returnType: java.util.function.Function<T,R>
    signature: '[com.jcraft.jsch.jzlib.Package].uncheckedFunction(IOFunction<T,R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.Package
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.Package].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Package.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Package
    signature: '[com.jcraft.jsch.jzlib.Package].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '[com.jcraft.jsch.jzlib.Package.IOConsumer].accept(T)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Package.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Package.IOConsumer].accept(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.Package.IOConsumer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.Package.IOConsumer].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Package.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Package.IOConsumer
    signature: '[com.jcraft.jsch.jzlib.Package.IOConsumer].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: R
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '[com.jcraft.jsch.jzlib.Package.IOFunction].apply(T)'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Package.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: '[com.jcraft.jsch.jzlib.Package.IOFunction].apply(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.Package.IOFunction
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.Package.IOFunction].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Package.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Package.IOFunction
    signature: '[com.jcraft.jsch.jzlib.Package.IOFunction].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].before()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflaterInflaterStreamTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].after()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflaterInflaterStreamTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].randombuf(int)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:29,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:32,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.ByteArrayOutputStream)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:33,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].readArray(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterOutputStream,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:34,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].close()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:35,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:37,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:38,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:38,1
    - Dst: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.ByteArrayInputStream)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:38,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].readIS(com.jcraft.jsch.jzlib.InflaterInputStream,java.io.ByteArrayOutputStream,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:38,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:39,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].assertEquals(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:41,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].assertArrayEquals(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].testDeflaterAndInflaterCanDeflateAndInflateDataOneByOne()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflaterInflaterStreamTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].readIS(com.jcraft.jsch.jzlib.InflaterInputStream,java.io.ByteArrayOutputStream,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].assertEquals(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.ByteArrayOutputStream)'
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].readArray(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterOutputStream,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].randombuf(int)'
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].assertArrayEquals(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[java.io.ByteArrayInputStream].<init>(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].close()'
    - '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.ByteArrayInputStream)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].testDeflaterAndInflaterCanDeflateAndInflateDataOneByOne()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].randombuf(int)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:53,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:55,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.ByteArrayOutputStream)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:56,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].readArray(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterOutputStream,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:57,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].close()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:58,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:60,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:61,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:61,1
    - Dst: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.ByteArrayInputStream)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:61,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].readIS(com.jcraft.jsch.jzlib.InflaterInputStream,java.io.ByteArrayOutputStream,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:61,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:62,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].assertEquals(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:64,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].assertArrayEquals(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].testDeflaterOutputStreamAndInflaterInputStreamCanDeflateAndInflate()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflaterInflaterStreamTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].readIS(com.jcraft.jsch.jzlib.InflaterInputStream,java.io.ByteArrayOutputStream,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].assertEquals(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.ByteArrayOutputStream)'
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].readArray(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterOutputStream,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].randombuf(int)'
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].assertArrayEquals(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[java.io.ByteArrayInputStream].<init>(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].close()'
    - '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.ByteArrayInputStream)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].testDeflaterOutputStreamAndInflaterInputStreamCanDeflateAndInflate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].randombuf(int)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:76,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:78,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,boolean)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:79,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.ByteArrayOutputStream,com.jcraft.jsch.jzlib.Deflater)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:80,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].readArray(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterOutputStream,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:81,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].close()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:82,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:84,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].<init>(int,boolean)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:85,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:86,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:86,1
    - Dst: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.ByteArrayInputStream,com.jcraft.jsch.jzlib.Inflater)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:86,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].readIS(com.jcraft.jsch.jzlib.InflaterInputStream,java.io.ByteArrayOutputStream,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:86,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:88,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].assertEquals(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:90,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].assertArrayEquals(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 69
    functionDepth: 8
    functionLinenumber: 69
    functionLinenumberEnd: 93
    functionName: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].testDeflaterAndInflaterCanDeflateAndInflateNowrapData()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflaterInflaterStreamTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].readIS(com.jcraft.jsch.jzlib.InflaterInputStream,java.io.ByteArrayOutputStream,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].assertEquals(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].readArray(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterOutputStream,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].randombuf(int)'
    - '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,boolean)'
    - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.ByteArrayOutputStream,com.jcraft.jsch.jzlib.Deflater)'
    - '[com.jcraft.jsch.jzlib.Inflater].<init>(int,boolean)'
    - '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.ByteArrayInputStream,com.jcraft.jsch.jzlib.Inflater)'
    - '[java.io.ByteArrayInputStream].<init>(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].close()'
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].assertArrayEquals(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].testDeflaterAndInflaterCanDeflateAndInflateNowrapData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].randombuf(int)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:99,1
    - Dst: '[String].getBytes(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:100,1
    - Dst: '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:99,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].uncheckedConsumer()'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:102,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].forEach(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
      Src: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 120
    functionName: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].testDeflaterAndInflaterCanDeflateAndInflateNowrapDataWithMaxWbits()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflaterInflaterStreamTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].forEach(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[String].getBytes(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].randombuf(int)'
    - '[java.util.Arrays].asList(com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest,com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest)'
    - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].uncheckedConsumer()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].testDeflaterAndInflaterCanDeflateAndInflateNowrapDataWithMaxWbits()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflaterInflaterStreamTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest
    signature: '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.BCrypt].hashpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:82,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCryptTest].assertEquals(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - BCryptHashTV[]
      - BCryptPbkdfTV[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: '[com.jcraft.jsch.jbcrypt.BCryptTest].testHashpw()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jbcrypt/BCryptTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.BCrypt].hashpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[com.jcraft.jsch.jbcrypt.BCryptTest].assertEquals(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.BCryptTest].testHashpw()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.BCrypt].gensalt(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:97,1
    - Dst: '[com.jcraft.jsch.BCrypt].hashpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:98,1
    - Dst: '[com.jcraft.jsch.BCrypt].hashpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:99,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCryptTest].assertEquals(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - BCryptHashTV[]
      - BCryptPbkdfTV[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: '[com.jcraft.jsch.jbcrypt.BCryptTest].testGensaltInt()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jbcrypt/BCryptTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.BCrypt].hashpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[com.jcraft.jsch.BCrypt].gensalt(com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[com.jcraft.jsch.jbcrypt.BCryptTest].assertEquals(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.BCryptTest].testGensaltInt()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.BCrypt].gensalt()'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:113,1
    - Dst: '[com.jcraft.jsch.BCrypt].hashpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:114,1
    - Dst: '[com.jcraft.jsch.BCrypt].hashpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:115,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCryptTest].assertEquals(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - BCryptHashTV[]
      - BCryptPbkdfTV[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: '[com.jcraft.jsch.jbcrypt.BCryptTest].testGensalt()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jbcrypt/BCryptTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.BCrypt].gensalt()'
    - '[com.jcraft.jsch.BCrypt].hashpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[com.jcraft.jsch.jbcrypt.BCryptTest].assertEquals(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.BCryptTest].testGensalt()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.BCrypt].checkpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:129,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCryptTest].assertTrue(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - BCryptHashTV[]
      - BCryptPbkdfTV[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: '[com.jcraft.jsch.jbcrypt.BCryptTest].testCheckpw_success()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jbcrypt/BCryptTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.BCrypt].checkpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[com.jcraft.jsch.jbcrypt.BCryptTest].assertTrue(com.jcraft.jsch.jbcrypt.BCryptTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.BCryptTest].testCheckpw_success()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.BCrypt].checkpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:143,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCryptTest].assertFalse(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - BCryptHashTV[]
      - BCryptPbkdfTV[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: '[com.jcraft.jsch.jbcrypt.BCryptTest].testCheckpw_failure()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jbcrypt/BCryptTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jbcrypt.BCryptTest].assertFalse(com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[com.jcraft.jsch.BCrypt].checkpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.BCryptTest].testCheckpw_failure()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.BCrypt].gensalt()'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:156,1
    - Dst: '[com.jcraft.jsch.BCrypt].hashpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:156,1
    - Dst: '[com.jcraft.jsch.BCrypt].checkpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:157,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCryptTest].assertFalse(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:157,1
    - Dst: '[com.jcraft.jsch.BCrypt].gensalt()'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:160,1
    - Dst: '[com.jcraft.jsch.BCrypt].hashpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:160,1
    - Dst: '[com.jcraft.jsch.BCrypt].checkpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:161,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCryptTest].assertFalse(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - BCryptHashTV[]
      - BCryptPbkdfTV[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: '[com.jcraft.jsch.jbcrypt.BCryptTest].testInternationalChars()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jbcrypt/BCryptTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.BCrypt].gensalt()'
    - '[com.jcraft.jsch.BCrypt].hashpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[com.jcraft.jsch.BCrypt].checkpw(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[com.jcraft.jsch.jbcrypt.BCryptTest].assertFalse(com.jcraft.jsch.jbcrypt.BCryptTest)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.BCryptTest].testInternationalChars()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.BCrypt].<init>()'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:217,1
    - Dst: '[com.jcraft.jsch.BCrypt].hash(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:217,1
    - Dst: '[java.util.Arrays].toString(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:218,1
    - Dst: '[java.util.Arrays].toString(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:218,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCryptTest].assertEquals(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - BCryptHashTV[]
      - BCryptPbkdfTV[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: '[com.jcraft.jsch.jbcrypt.BCryptTest].testBCryptHashTestVectors()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jbcrypt/BCryptTest.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.BCrypt].hash(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[java.util.Arrays].toString(com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[com.jcraft.jsch.jbcrypt.BCryptTest].assertEquals(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[com.jcraft.jsch.BCrypt].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.BCryptTest].testBCryptHashTestVectors()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.BCrypt].<init>()'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:268,1
    - Dst: '[com.jcraft.jsch.BCrypt].pbkdf(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:268,1
    - Dst: '[java.util.Arrays].toString(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:269,1
    - Dst: '[java.util.Arrays].toString(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:269,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCryptTest].assertEquals(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - BCryptHashTV[]
      - BCryptPbkdfTV[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: '[com.jcraft.jsch.jbcrypt.BCryptTest].testBCryptPbkdfTestVectors()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jbcrypt/BCryptTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].toString(com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[com.jcraft.jsch.jbcrypt.BCryptTest].assertEquals(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[com.jcraft.jsch.BCrypt].pbkdf(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[com.jcraft.jsch.BCrypt].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.BCryptTest].testBCryptPbkdfTestVectors()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jbcrypt.BCryptTest.BCryptHashTV].<init>()'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:178,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCryptTest.BCryptHashTV].<init>()'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:194,1
    - Dst: '[String].getBytes(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:239,1
    - Dst: '[String].getBytes(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:239,1
    - Dst: '[BCryptPbkdfTV].<init>(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest,int)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:239,1
    - Dst: '[String].getBytes(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:246,1
    - Dst: '[String].getBytes(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:246,1
    - Dst: '[BCryptPbkdfTV].<init>(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest,int)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:246,1
    - Dst: '[String].getBytes(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:258,1
    - Dst: '[String].getBytes(com.jcraft.jsch.jbcrypt.BCryptTest)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:258,1
    - Dst: '[BCryptPbkdfTV].<init>(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest,int)'
      Src: com.jcraft.jsch.jbcrypt.BCryptTest:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - BCryptHashTV[]
      - BCryptPbkdfTV[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jbcrypt.BCryptTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jbcrypt.BCryptTest].<init>()'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jbcrypt/BCryptTest.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(com.jcraft.jsch.jbcrypt.BCryptTest)'
    - '[com.jcraft.jsch.jbcrypt.BCryptTest.BCryptHashTV].<init>()'
    - '[BCryptPbkdfTV].<init>(com.jcraft.jsch.jbcrypt.BCryptTest,com.jcraft.jsch.jbcrypt.BCryptTest,int)'
    linkageType: ''
    returnType: com.jcraft.jsch.jbcrypt.BCryptTest
    signature: '[com.jcraft.jsch.jbcrypt.BCryptTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jbcrypt.BCryptTest.BCryptHashTV
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - pass
    - salt
    - out
    argTypes:
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: '[com.jcraft.jsch.jbcrypt.BCryptTest.BCryptHashTV].<init>(byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jbcrypt/BCryptTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jbcrypt.BCryptTest.BCryptHashTV
    signature: '[com.jcraft.jsch.jbcrypt.BCryptTest.BCryptHashTV].<init>(byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - int
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jbcrypt.BCryptTest.BCryptPbkdfTV
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - pass
    - salt
    - rounds
    - out
    argTypes:
    - byte[]
    - byte[]
    - int
    - byte[]
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: '[com.jcraft.jsch.jbcrypt.BCryptTest.BCryptPbkdfTV].<init>(byte[],byte[],int,byte[])'
    functionSourceFile: /src/jsch/src/test/java/com/jcraft/jsch/jbcrypt/BCryptTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jbcrypt.BCryptTest.BCryptPbkdfTV
    signature: '[com.jcraft.jsch.jbcrypt.BCryptTest.BCryptPbkdfTV].<init>(byte[],byte[],int,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.KeyPairGenerator].getInstance(String)'
      Src: com.jcraft.jsch.jce.MLKEM:47,1
    - Dst: '[com.jcraft.jsch.jce.MLKEM].initialize(java.security.spec.NamedParameterSpec)'
      Src: com.jcraft.jsch.jce.MLKEM:48,1
    - Dst: '[com.jcraft.jsch.jce.MLKEM].generateKeyPair()'
      Src: com.jcraft.jsch.jce.MLKEM:49,1
    - Dst: '[javax.crypto.KEM].getInstance(String)'
      Src: com.jcraft.jsch.jce.MLKEM:50,1
    - Dst: '[com.jcraft.jsch.jce.MLKEM].getPrivate()'
      Src: com.jcraft.jsch.jce.MLKEM:51,1
    - Dst: '[com.jcraft.jsch.jce.MLKEM].newDecapsulator(com.jcraft.jsch.jce.MLKEM)'
      Src: com.jcraft.jsch.jce.MLKEM:51,1
    - Dst: '[com.jcraft.jsch.jce.MLKEM].getPublic()'
      Src: com.jcraft.jsch.jce.MLKEM:52,1
    - Dst: '[com.jcraft.jsch.jce.MLKEM].getEncoded()'
      Src: com.jcraft.jsch.jce.MLKEM:52,1
    - Dst: com.jcraft.jsch.KeyPair.extractX509SubjectPublicKeyInfo(com.jcraft.jsch.jce.MLKEM,byte[],int)
      Src: com.jcraft.jsch.jce.MLKEM:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.spec.NamedParameterSpec
      - byte[]
      - int
      - KEM.Decapsulator
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: '[com.jcraft.jsch.jce.MLKEM].init()'
    functionSourceFile: /src/jsch/src/main/java24/com/jcraft/jsch/jce/MLKEM.java
    functionUses: 0
    functionsReached:
    - '[java.security.KeyPairGenerator].getInstance(String)'
    - '[com.jcraft.jsch.jce.MLKEM].newDecapsulator(com.jcraft.jsch.jce.MLKEM)'
    - '[com.jcraft.jsch.jce.MLKEM].generateKeyPair()'
    - '[javax.crypto.KEM].getInstance(String)'
    - '[com.jcraft.jsch.jce.MLKEM].getEncoded()'
    - '[com.jcraft.jsch.jce.MLKEM].initialize(java.security.spec.NamedParameterSpec)'
    - com.jcraft.jsch.KeyPair.extractX509SubjectPublicKeyInfo(com.jcraft.jsch.jce.MLKEM,byte[],int)
    - '[com.jcraft.jsch.jce.MLKEM].getPrivate()'
    - '[com.jcraft.jsch.jce.MLKEM].getPublic()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.MLKEM].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.spec.NamedParameterSpec
      - byte[]
      - int
      - KEM.Decapsulator
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[com.jcraft.jsch.jce.MLKEM].getPublicKey()'
    functionSourceFile: /src/jsch/src/main/java24/com/jcraft/jsch/jce/MLKEM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.MLKEM].getPublicKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[KEM.Decapsulator].decapsulate(byte[])'
      Src: com.jcraft.jsch.jce.MLKEM:63,1
    - Dst: '[com.jcraft.jsch.jce.MLKEM].getEncoded()'
      Src: com.jcraft.jsch.jce.MLKEM:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.spec.NamedParameterSpec
      - byte[]
      - int
      - KEM.Decapsulator
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encapsulation
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[com.jcraft.jsch.jce.MLKEM].decapsulate(byte[])'
    functionSourceFile: /src/jsch/src/main/java24/com/jcraft/jsch/jce/MLKEM.java
    functionUses: 0
    functionsReached:
    - '[KEM.Decapsulator].decapsulate(byte[])'
    - '[com.jcraft.jsch.jce.MLKEM].getEncoded()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.MLKEM].decapsulate(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.spec.NamedParameterSpec
      - byte[]
      - int
      - KEM.Decapsulator
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.MLKEM
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.MLKEM].<init>()'
    functionSourceFile: /src/jsch/src/main/java24/com/jcraft/jsch/jce/MLKEM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.MLKEM
    signature: '[com.jcraft.jsch.jce.MLKEM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.MLKEM1024
      static: false
      superClass: com.jcraft.jsch.jce.MLKEM
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '[com.jcraft.jsch.jce.MLKEM1024].<init>()'
    functionSourceFile: /src/jsch/src/main/java24/com/jcraft/jsch/jce/MLKEM1024.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.MLKEM1024
    signature: '[com.jcraft.jsch.jce.MLKEM1024].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.MLKEM768
      static: false
      superClass: com.jcraft.jsch.jce.MLKEM
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '[com.jcraft.jsch.jce.MLKEM768].<init>()'
    functionSourceFile: /src/jsch/src/main/java24/com/jcraft/jsch/jce/MLKEM768.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.MLKEM768
    signature: '[com.jcraft.jsch.jce.MLKEM768].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.SignatureEd25519].getName()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEd25519.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureEd25519].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.jce.SignatureEd25519].getAlgo()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEd25519.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureEd25519].getAlgo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jce.SignatureEd25519].getKeylen()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEd25519.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.SignatureEd25519].getKeylen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureEd25519
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureEd25519].<init>()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEd25519.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureEd25519
    signature: '[com.jcraft.jsch.jce.SignatureEd25519].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: false
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '[com.jcraft.jsch.jce.SignatureEdDSA].getName()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEdDSA.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureEdDSA].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: false
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '[com.jcraft.jsch.jce.SignatureEdDSA].getAlgo()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEdDSA.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureEdDSA].getAlgo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: false
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '[com.jcraft.jsch.jce.SignatureEdDSA].getKeylen()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEdDSA.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.SignatureEdDSA].getKeylen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.Signature].getInstance(String)'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:55,1
    - Dst: '[java.security.KeyFactory].getInstance(String)'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: '[com.jcraft.jsch.jce.SignatureEdDSA].init()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEdDSA.java
    functionUses: 0
    functionsReached:
    - '[java.security.Signature].getInstance(String)'
    - '[java.security.KeyFactory].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureEdDSA].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jce.SignatureEdDSA].rotate(byte[])'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:85,1
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:88,1
    - Dst: '[com.jcraft.jsch.jce.SignatureEdDSA].getAlgo()'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:90,1
    - Dst: '[java.security.spec.NamedParameterSpec].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:90,1
    - Dst: '[java.security.spec.EdECPoint].<init>(com.jcraft.jsch.jce.SignatureEdDSA,java.math.BigInteger)'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:91,1
    - Dst: '[java.security.spec.EdECPublicKeySpec].<init>(java.security.spec.NamedParameterSpec,java.security.spec.EdECPoint)'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:91,1
    - Dst: '[java.security.KeyFactory].generatePublic(java.security.spec.EdECPublicKeySpec)'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:92,1
    - Dst: '[java.security.Signature].initVerify(com.jcraft.jsch.jce.SignatureEdDSA)'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - y_arr
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: '[com.jcraft.jsch.jce.SignatureEdDSA].setPubKey(byte[])'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEdDSA.java
    functionUses: 0
    functionsReached:
    - '[java.security.spec.EdECPoint].<init>(com.jcraft.jsch.jce.SignatureEdDSA,java.math.BigInteger)'
    - '[com.jcraft.jsch.jce.SignatureEdDSA].getAlgo()'
    - '[java.security.spec.EdECPublicKeySpec].<init>(java.security.spec.NamedParameterSpec,java.security.spec.EdECPoint)'
    - '[com.jcraft.jsch.jce.SignatureEdDSA].rotate(byte[])'
    - '[java.security.Signature].initVerify(com.jcraft.jsch.jce.SignatureEdDSA)'
    - '[java.security.spec.NamedParameterSpec].<init>(String)'
    - '[java.math.BigInteger].<init>(byte[])'
    - '[java.security.KeyFactory].generatePublic(java.security.spec.EdECPublicKeySpec)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureEdDSA].setPubKey(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jce.SignatureEdDSA].getAlgo()'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:98,1
    - Dst: '[java.security.spec.NamedParameterSpec].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:98,1
    - Dst: '[java.security.spec.EdECPrivateKeySpec].<init>(java.security.spec.NamedParameterSpec,byte[])'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:99,1
    - Dst: '[java.security.KeyFactory].generatePrivate(java.security.spec.EdECPrivateKeySpec)'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:100,1
    - Dst: '[java.security.Signature].initSign(com.jcraft.jsch.jce.SignatureEdDSA)'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: '[com.jcraft.jsch.jce.SignatureEdDSA].setPrvKey(byte[])'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEdDSA.java
    functionUses: 0
    functionsReached:
    - '[java.security.KeyFactory].generatePrivate(java.security.spec.EdECPrivateKeySpec)'
    - '[com.jcraft.jsch.jce.SignatureEdDSA].getAlgo()'
    - '[java.security.spec.EdECPrivateKeySpec].<init>(java.security.spec.NamedParameterSpec,byte[])'
    - '[java.security.Signature].initSign(com.jcraft.jsch.jce.SignatureEdDSA)'
    - '[java.security.spec.NamedParameterSpec].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureEdDSA].setPrvKey(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.Signature].sign()'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: '[com.jcraft.jsch.jce.SignatureEdDSA].sign()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEdDSA.java
    functionUses: 0
    functionsReached:
    - '[java.security.Signature].sign()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SignatureEdDSA].sign()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.Signature].update(byte[])'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[com.jcraft.jsch.jce.SignatureEdDSA].update(byte[])'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEdDSA.java
    functionUses: 0
    functionsReached:
    - '[java.security.Signature].update(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureEdDSA].update(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:120,1
    - Dst: '[String].<init>(byte[],com.jcraft.jsch.jce.SignatureEdDSA)'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:122,1
    - Dst: '[com.jcraft.jsch.jce.SignatureEdDSA].getName()'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:123,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:123,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:124,1
    - Dst: '[com.jcraft.jsch.Buffer].getOffSet()'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:125,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureEdDSA,int,int)
      Src: com.jcraft.jsch.jce.SignatureEdDSA:127,1
    - Dst: '[java.security.Signature].verify(com.jcraft.jsch.jce.SignatureEdDSA)'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sig
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: '[com.jcraft.jsch.jce.SignatureEdDSA].verify(byte[])'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEdDSA.java
    functionUses: 0
    functionsReached:
    - '[java.security.Signature].verify(com.jcraft.jsch.jce.SignatureEdDSA)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureEdDSA,int,int)
    - '[String].<init>(byte[],com.jcraft.jsch.jce.SignatureEdDSA)'
    - '[com.jcraft.jsch.jce.SignatureEdDSA].getName()'
    - '[com.jcraft.jsch.Buffer].getOffSet()'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.SignatureEdDSA].verify(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jce.SignatureEdDSA].getKeylen()'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:142,1
    - Dst: '[java.util.Arrays].copyOf(com.jcraft.jsch.jce.SignatureEdDSA,int)'
      Src: com.jcraft.jsch.jce.SignatureEdDSA:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - in
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: '[com.jcraft.jsch.jce.SignatureEdDSA].rotate(byte[])'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEdDSA.java
    functionUses: 1
    functionsReached:
    - '[java.util.Arrays].copyOf(com.jcraft.jsch.jce.SignatureEdDSA,int)'
    - '[com.jcraft.jsch.jce.SignatureEdDSA].getKeylen()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SignatureEdDSA].rotate(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureEdDSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureEdDSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureEdDSA
    signature: '[com.jcraft.jsch.jce.SignatureEdDSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.KeyPairGenerator].getInstance(String)'
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:45,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].generateKeyPair()'
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:46,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPublic()'
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:48,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPrivate()'
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:49,1
    - Dst: pubKey.getPoint()
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:50,1
    - Dst: prvKey.getBytes()
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:52,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].get()'
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:52,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getY()'
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:53,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:53,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].rotate(com.jcraft.jsch.jce.KeyPairGenEdDSA)'
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:53,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].isXOdd()'
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KeyPairGenEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - keylen
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].init(String,int)'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached:
    - '[java.security.KeyPairGenerator].getInstance(String)'
    - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getY()'
    - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].isXOdd()'
    - pubKey.getPoint()
    - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].get()'
    - prvKey.getBytes()
    - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].rotate(com.jcraft.jsch.jce.KeyPairGenEdDSA)'
    - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPrivate()'
    - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].toByteArray()'
    - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPublic()'
    - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].generateKeyPair()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].init(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPrv()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPrv()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPub()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPub()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].copyOf(com.jcraft.jsch.jce.KeyPairGenEdDSA,int)'
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenEdDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - in
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].rotate(byte[])'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].copyOf(com.jcraft.jsch.jce.KeyPairGenEdDSA,int)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].rotate(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.KeyPairGenEdDSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.KeyPairGenEdDSA
    signature: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.SignatureEd448].getName()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEd448.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureEd448].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.jce.SignatureEd448].getAlgo()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEd448.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureEd448].getAlgo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jce.SignatureEd448].getKeylen()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEd448.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.SignatureEd448].getKeylen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureEd448
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureEd448].<init>()'
    functionSourceFile: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEd448.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureEd448
    signature: '[com.jcraft.jsch.jce.SignatureEd448].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.AgentProxyException
      interfaces:
      - com.jcraft.jsch.USocketFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.UnixDomainSocketFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
    functionSourceFile: /src/jsch/src/main/java16/com/jcraft/jsch/UnixDomainSocketFactory.java
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.UnixDomainSocketFactory
    signature: '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.UnixDomainSocketAddress].of(java.nio.file.Path)'
      Src: com.jcraft.jsch.UnixDomainSocketFactory:42,1
    - Dst: '[java.nio.channels.SocketChannel].open(com.jcraft.jsch.UnixDomainSocketFactory)'
      Src: com.jcraft.jsch.UnixDomainSocketFactory:43,1
    - Dst: '[com.jcraft.jsch.UnixDomainSocketFactory].configureBlocking(boolean)'
      Src: com.jcraft.jsch.UnixDomainSocketFactory:44,1
    - Dst: '[com.jcraft.jsch.UnixDomainSocketFactory].connect(com.jcraft.jsch.UnixDomainSocketFactory)'
      Src: com.jcraft.jsch.UnixDomainSocketFactory:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.USocketFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.channels.SocketChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: '[com.jcraft.jsch.UnixDomainSocketFactory].connect(java.nio.file.Path)'
    functionSourceFile: /src/jsch/src/main/java16/com/jcraft/jsch/UnixDomainSocketFactory.java
    functionUses: 0
    functionsReached:
    - '[java.net.UnixDomainSocketAddress].of(java.nio.file.Path)'
    - '[com.jcraft.jsch.UnixDomainSocketFactory].connect(com.jcraft.jsch.UnixDomainSocketFactory)'
    - '[java.nio.channels.SocketChannel].open(com.jcraft.jsch.UnixDomainSocketFactory)'
    - '[com.jcraft.jsch.UnixDomainSocketFactory].configureBlocking(boolean)'
    linkageType: ''
    returnType: java.nio.channels.SocketChannel
    signature: '[com.jcraft.jsch.UnixDomainSocketFactory].connect(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.UnixDomainSocketAddress].of(java.nio.file.Path)'
      Src: com.jcraft.jsch.UnixDomainSocketFactory:51,1
    - Dst: '[java.nio.channels.ServerSocketChannel].open(com.jcraft.jsch.UnixDomainSocketFactory)'
      Src: com.jcraft.jsch.UnixDomainSocketFactory:52,1
    - Dst: '[com.jcraft.jsch.UnixDomainSocketFactory].configureBlocking(boolean)'
      Src: com.jcraft.jsch.UnixDomainSocketFactory:53,1
    - Dst: '[com.jcraft.jsch.UnixDomainSocketFactory].bind(com.jcraft.jsch.UnixDomainSocketFactory)'
      Src: com.jcraft.jsch.UnixDomainSocketFactory:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.USocketFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.channels.ServerSocketChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.UnixDomainSocketFactory].bind(java.nio.file.Path)'
    functionSourceFile: /src/jsch/src/main/java16/com/jcraft/jsch/UnixDomainSocketFactory.java
    functionUses: 0
    functionsReached:
    - '[java.net.UnixDomainSocketAddress].of(java.nio.file.Path)'
    - '[com.jcraft.jsch.UnixDomainSocketFactory].bind(com.jcraft.jsch.UnixDomainSocketFactory)'
    - '[java.nio.channels.ServerSocketChannel].open(com.jcraft.jsch.UnixDomainSocketFactory)'
    - '[com.jcraft.jsch.UnixDomainSocketFactory].configureBlocking(boolean)'
    linkageType: ''
    returnType: java.nio.channels.ServerSocketChannel
    signature: '[com.jcraft.jsch.UnixDomainSocketFactory].bind(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Runtime.version()
      Src: com.jcraft.jsch.JavaVersion:6,1
    - Dst: '[com.jcraft.jsch.JavaVersion].feature()'
      Src: com.jcraft.jsch.JavaVersion:6,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 7
    functionName: '[com.jcraft.jsch.JavaVersion].getVersion()'
    functionSourceFile: /src/jsch/src/main/java10/com/jcraft/jsch/JavaVersion.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JavaVersion].feature()'
    - Runtime.version()
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.JavaVersion].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JavaVersion
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.JavaVersion].<init>()'
    functionSourceFile: /src/jsch/src/main/java10/com/jcraft/jsch/JavaVersion.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.JavaVersion
    signature: '[com.jcraft.jsch.JavaVersion].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.KeyAgreement].getInstance(String)'
      Src: com.jcraft.jsch.jce.XDH:50,1
    - Dst: '[java.security.KeyPairGenerator].getInstance(String)'
      Src: com.jcraft.jsch.jce.XDH:51,1
    - Dst: '[java.security.spec.NamedParameterSpec].<init>(String)'
      Src: com.jcraft.jsch.jce.XDH:52,1
    - Dst: '[com.jcraft.jsch.jce.XDH].initialize(java.security.spec.NamedParameterSpec)'
      Src: com.jcraft.jsch.jce.XDH:53,1
    - Dst: '[com.jcraft.jsch.jce.XDH].genKeyPair()'
      Src: com.jcraft.jsch.jce.XDH:54,1
    - Dst: '[com.jcraft.jsch.jce.XDH].getPublic()'
      Src: com.jcraft.jsch.jce.XDH:55,1
    - Dst: '[java.security.interfaces.XECPublicKey].getU()'
      Src: com.jcraft.jsch.jce.XDH:56,1
    - Dst: '[com.jcraft.jsch.jce.XDH].toByteArray()'
      Src: com.jcraft.jsch.jce.XDH:56,1
    - Dst: '[com.jcraft.jsch.jce.XDH].rotate(com.jcraft.jsch.jce.XDH)'
      Src: com.jcraft.jsch.jce.XDH:56,1
    - Dst: '[com.jcraft.jsch.jce.XDH].getPrivate()'
      Src: com.jcraft.jsch.jce.XDH:57,1
    - Dst: '[com.jcraft.jsch.jce.XDH].init(com.jcraft.jsch.jce.XDH)'
      Src: com.jcraft.jsch.jce.XDH:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.interfaces.XECPublicKey
      - int
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - keylen
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.jce.XDH].init(String,int)'
    functionSourceFile: /src/jsch/src/main/java11/com/jcraft/jsch/jce/XDH.java
    functionUses: 0
    functionsReached:
    - '[java.security.interfaces.XECPublicKey].getU()'
    - '[java.security.KeyPairGenerator].getInstance(String)'
    - '[com.jcraft.jsch.jce.XDH].genKeyPair()'
    - '[com.jcraft.jsch.jce.XDH].init(com.jcraft.jsch.jce.XDH)'
    - '[com.jcraft.jsch.jce.XDH].initialize(java.security.spec.NamedParameterSpec)'
    - '[com.jcraft.jsch.jce.XDH].getPublic()'
    - '[javax.crypto.KeyAgreement].getInstance(String)'
    - '[com.jcraft.jsch.jce.XDH].rotate(com.jcraft.jsch.jce.XDH)'
    - '[com.jcraft.jsch.jce.XDH].getPrivate()'
    - '[java.security.spec.NamedParameterSpec].<init>(String)'
    - '[com.jcraft.jsch.jce.XDH].toByteArray()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.XDH].init(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.interfaces.XECPublicKey
      - int
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[com.jcraft.jsch.jce.XDH].getQ()'
    functionSourceFile: /src/jsch/src/main/java11/com/jcraft/jsch/jce/XDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.XDH].getQ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jce.XDH].rotate(byte[])'
      Src: com.jcraft.jsch.jce.XDH:70,1
    - Dst: System.arraycopy(com.jcraft.jsch.jce.XDH,int,com.jcraft.jsch.jce.XDH,int,int)
      Src: com.jcraft.jsch.jce.XDH:72,1
    - Dst: '[java.security.interfaces.XECPublicKey].getParams()'
      Src: com.jcraft.jsch.jce.XDH:73,1
    - Dst: '[java.math.BigInteger].<init>(com.jcraft.jsch.jce.XDH)'
      Src: com.jcraft.jsch.jce.XDH:73,1
    - Dst: '[java.security.spec.XECPublicKeySpec].<init>(com.jcraft.jsch.jce.XDH,java.math.BigInteger)'
      Src: com.jcraft.jsch.jce.XDH:73,1
    - Dst: '[java.security.KeyFactory].getInstance(String)'
      Src: com.jcraft.jsch.jce.XDH:74,1
    - Dst: '[com.jcraft.jsch.jce.XDH].generatePublic(java.security.spec.XECPublicKeySpec)'
      Src: com.jcraft.jsch.jce.XDH:75,1
    - Dst: '[javax.crypto.KeyAgreement].doPhase(com.jcraft.jsch.jce.XDH,boolean)'
      Src: com.jcraft.jsch.jce.XDH:76,1
    - Dst: '[javax.crypto.KeyAgreement].generateSecret()'
      Src: com.jcraft.jsch.jce.XDH:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.interfaces.XECPublicKey
      - int
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - Q
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: '[com.jcraft.jsch.jce.XDH].getSecret(byte[])'
    functionSourceFile: /src/jsch/src/main/java11/com/jcraft/jsch/jce/XDH.java
    functionUses: 1
    functionsReached:
    - '[java.security.spec.XECPublicKeySpec].<init>(com.jcraft.jsch.jce.XDH,java.math.BigInteger)'
    - '[com.jcraft.jsch.jce.XDH].generatePublic(java.security.spec.XECPublicKeySpec)'
    - '[java.security.interfaces.XECPublicKey].getParams()'
    - '[javax.crypto.KeyAgreement].doPhase(com.jcraft.jsch.jce.XDH,boolean)'
    - '[java.math.BigInteger].<init>(com.jcraft.jsch.jce.XDH)'
    - '[java.security.KeyFactory].getInstance(String)'
    - '[javax.crypto.KeyAgreement].generateSecret()'
    - System.arraycopy(com.jcraft.jsch.jce.XDH,int,com.jcraft.jsch.jce.XDH,int,int)
    - '[com.jcraft.jsch.jce.XDH].rotate(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.XDH].getSecret(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.interfaces.XECPublicKey
      - int
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - u
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[com.jcraft.jsch.jce.XDH].validate(byte[])'
    functionSourceFile: /src/jsch/src/main/java11/com/jcraft/jsch/jce/XDH.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.XDH].validate(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].copyOf(com.jcraft.jsch.jce.XDH,int)'
      Src: com.jcraft.jsch.jce.XDH:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.interfaces.XECPublicKey
      - int
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - in
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: '[com.jcraft.jsch.jce.XDH].rotate(byte[])'
    functionSourceFile: /src/jsch/src/main/java11/com/jcraft/jsch/jce/XDH.java
    functionUses: 1
    functionsReached:
    - '[java.util.Arrays].copyOf(com.jcraft.jsch.jce.XDH,int)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.XDH].rotate(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.interfaces.XECPublicKey
      - int
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.XDH
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.XDH].<init>()'
    functionSourceFile: /src/jsch/src/main/java11/com/jcraft/jsch/jce/XDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.XDH
    signature: '[com.jcraft.jsch.jce.XDH].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Runtime.version()
      Src: com.jcraft.jsch.JavaVersion:9,1
    - Dst: '[com.jcraft.jsch.JavaVersion].major()'
      Src: com.jcraft.jsch.JavaVersion:9,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 10
    functionName: '[com.jcraft.jsch.JavaVersion].getVersion()'
    functionSourceFile: /src/jsch/src/main/java9/com/jcraft/jsch/JavaVersion.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JavaVersion].major()'
    - Runtime.version()
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.JavaVersion].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JavaVersion
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.JavaVersion].<init>()'
    functionSourceFile: /src/jsch/src/main/java9/com/jcraft/jsch/JavaVersion.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.JavaVersion
    signature: '[com.jcraft.jsch.JavaVersion].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSch.class.getName()
      Src: com.jcraft.jsch.JplLogger:8,1
    - Dst: System.getLogger(com.jcraft.jsch.JplLogger)
      Src: com.jcraft.jsch.JplLogger:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JplLogger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 10
    functionName: '[com.jcraft.jsch.JplLogger].<init>()'
    functionSourceFile: /src/jsch/src/main/java9/com/jcraft/jsch/JplLogger.java
    functionUses: 0
    functionsReached:
    - System.getLogger(com.jcraft.jsch.JplLogger)
    - JSch.class.getName()
    linkageType: ''
    returnType: com.jcraft.jsch.JplLogger
    signature: '[com.jcraft.jsch.JplLogger].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JplLogger].getLevel(int)'
      Src: com.jcraft.jsch.JplLogger:14,1
    - Dst: '[com.jcraft.jsch.Logger].isLoggable(com.jcraft.jsch.JplLogger)'
      Src: com.jcraft.jsch.JplLogger:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: '[com.jcraft.jsch.JplLogger].isEnabled(int)'
    functionSourceFile: /src/jsch/src/main/java9/com/jcraft/jsch/JplLogger.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JplLogger].getLevel(int)'
    - '[com.jcraft.jsch.Logger].isLoggable(com.jcraft.jsch.JplLogger)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.JplLogger].isEnabled(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JplLogger].getLevel(int)'
      Src: com.jcraft.jsch.JplLogger:19,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.JplLogger,String)'
      Src: com.jcraft.jsch.JplLogger:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - message
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: '[com.jcraft.jsch.JplLogger].log(int,String)'
    functionSourceFile: /src/jsch/src/main/java9/com/jcraft/jsch/JplLogger.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.JplLogger,String)'
    - '[com.jcraft.jsch.JplLogger].getLevel(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JplLogger].log(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JplLogger].getLevel(int)'
      Src: com.jcraft.jsch.JplLogger:25,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.JplLogger,String)'
      Src: com.jcraft.jsch.JplLogger:25,1
    - Dst: '[com.jcraft.jsch.JplLogger].getLevel(int)'
      Src: com.jcraft.jsch.JplLogger:28,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.JplLogger,String,Throwable)'
      Src: com.jcraft.jsch.JplLogger:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - level
    - message
    - cause
    argTypes:
    - int
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: '[com.jcraft.jsch.JplLogger].log(int,String,Throwable)'
    functionSourceFile: /src/jsch/src/main/java9/com/jcraft/jsch/JplLogger.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.JplLogger,String)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.JplLogger,String,Throwable)'
    - '[com.jcraft.jsch.JplLogger].getLevel(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JplLogger].log(int,String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Level
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.JplLogger].getLevel(int)'
    functionSourceFile: /src/jsch/src/main/java9/com/jcraft/jsch/JplLogger.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Level
    signature: '[com.jcraft.jsch.JplLogger].getLevel(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:36,1
    - Dst: '[com.jcraft.jsch.Channel].<init>()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      - int
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.ChannelDirectTCPIP
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: '[com.jcraft.jsch.ChannelDirectTCPIP].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectTCPIP.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.Channel].<init>()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelDirectTCPIP
    signature: '[com.jcraft.jsch.ChannelDirectTCPIP].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IO].<init>()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      - int
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[com.jcraft.jsch.ChannelDirectTCPIP].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectTCPIP.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.IO].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelDirectTCPIP].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].getSession()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:60,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].isConnected()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:61,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:62,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].getThreadFactory()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:66,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].newThread()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:66,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].getHost()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:67,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].setName(String)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:67,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].setDaemon(com.jcraft.jsch.ChannelDirectTCPIP)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:69,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].start()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:71,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].sendChannelOpen()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:73,1
    - Dst: io.close()
      Src: com.jcraft.jsch.ChannelDirectTCPIP:76,1
    - Dst: '[com.jcraft.jsch.Channel].del()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      - int
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - connectTimeout
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 83
    functionName: '[com.jcraft.jsch.ChannelDirectTCPIP].connect(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectTCPIP.java
    functionUses: 1
    functionsReached:
    - io.close()
    - '[com.jcraft.jsch.ChannelDirectTCPIP].isConnected()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].start()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].setName(String)'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].getSession()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].getThreadFactory()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].getHost()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].sendChannelOpen()'
    - '[com.jcraft.jsch.Channel].del()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].setDaemon(com.jcraft.jsch.ChannelDirectTCPIP)'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].newThread()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelDirectTCPIP].connect(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].sendChannelOpen()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:89,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelDirectTCPIP)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:91,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:92,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].getSession()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:93,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].isConnected()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:96,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].getBufferMargin()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:97,1
    - Dst: io.in.read(byte[],int,com.jcraft.jsch.ChannelDirectTCPIP)
      Src: com.jcraft.jsch.ChannelDirectTCPIP:97,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].eof()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:99,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:102,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:103,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelDirectTCPIP)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:104,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelDirectTCPIP)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:105,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.ChannelDirectTCPIP)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:106,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].write(com.jcraft.jsch.Packet,com.jcraft.jsch.ChannelDirectTCPIP)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:110,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].disconnect()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:119,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].eof()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:123,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].disconnect()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:124,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      - int
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 125
    functionName: '[com.jcraft.jsch.ChannelDirectTCPIP].run()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectTCPIP.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.ChannelDirectTCPIP)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelDirectTCPIP)'
    - io.in.read(byte[],int,com.jcraft.jsch.ChannelDirectTCPIP)
    - '[com.jcraft.jsch.ChannelDirectTCPIP].isConnected()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].eof()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].sendChannelOpen()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].getSession()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].getBufferMargin()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].disconnect()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].write(com.jcraft.jsch.Packet,com.jcraft.jsch.ChannelDirectTCPIP)'
    - '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelDirectTCPIP)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelDirectTCPIP].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: io.setInputStream(java.io.InputStream)
      Src: com.jcraft.jsch.ChannelDirectTCPIP:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      - int
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - in
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '[com.jcraft.jsch.ChannelDirectTCPIP].setInputStream(java.io.InputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectTCPIP.java
    functionUses: 0
    functionsReached:
    - io.setInputStream(java.io.InputStream)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelDirectTCPIP].setInputStream(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: io.setOutputStream(java.io.OutputStream)
      Src: com.jcraft.jsch.ChannelDirectTCPIP:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      - int
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - out
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: '[com.jcraft.jsch.ChannelDirectTCPIP].setOutputStream(java.io.OutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectTCPIP.java
    functionUses: 0
    functionsReached:
    - io.setOutputStream(java.io.OutputStream)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelDirectTCPIP].setOutputStream(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      - int
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: '[com.jcraft.jsch.ChannelDirectTCPIP].setHost(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectTCPIP.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelDirectTCPIP].setHost(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      - int
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: '[com.jcraft.jsch.ChannelDirectTCPIP].setPort(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectTCPIP.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelDirectTCPIP].setPort(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      - int
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - foo
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: '[com.jcraft.jsch.ChannelDirectTCPIP].setOrgIPAddress(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectTCPIP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelDirectTCPIP].setOrgIPAddress(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      - int
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - foo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: '[com.jcraft.jsch.ChannelDirectTCPIP].setOrgPort(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectTCPIP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelDirectTCPIP].setOrgPort(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session.getBufferMargin()
      Src: com.jcraft.jsch.ChannelDirectTCPIP:156,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelDirectTCPIP)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:155,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:157,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:163,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:164,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.ChannelDirectTCPIP)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:165,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelDirectTCPIP)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:166,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelDirectTCPIP)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:167,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelDirectTCPIP)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:168,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:169,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:169,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:170,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:171,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:171,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.ChannelDirectTCPIP:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      - int
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Packet
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 174
    functionName: '[com.jcraft.jsch.ChannelDirectTCPIP].genChannelOpenPacket()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectTCPIP.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - session.getBufferMargin()
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelDirectTCPIP)'
    - '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.ChannelDirectTCPIP)'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelDirectTCPIP)'
    linkageType: ''
    returnType: com.jcraft.jsch.Packet
    signature: '[com.jcraft.jsch.ChannelDirectTCPIP].genChannelOpenPacket()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.RequestAgentForwarding:32,1
    - Dst: '[com.jcraft.jsch.RequestAgentForwarding].setReply(boolean)'
      Src: com.jcraft.jsch.RequestAgentForwarding:34,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.RequestAgentForwarding:36,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.RequestAgentForwarding:37,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.RequestAgentForwarding:43,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestAgentForwarding:44,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.RequestAgentForwarding:45,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestAgentForwarding:45,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestAgentForwarding:46,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestAgentForwarding:46,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestAgentForwarding:47,1
    - Dst: '[com.jcraft.jsch.RequestAgentForwarding].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.RequestAgentForwarding:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 2
    argNames:
    - session
    - channel
    argTypes:
    - com.jcraft.jsch.Session
    - com.jcraft.jsch.Channel
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: '[com.jcraft.jsch.RequestAgentForwarding].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestAgentForwarding.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.RequestAgentForwarding].setReply(boolean)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.RequestAgentForwarding].write(com.jcraft.jsch.Packet)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestAgentForwarding].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.RequestAgentForwarding
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.RequestAgentForwarding].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestAgentForwarding.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.RequestAgentForwarding
    signature: '[com.jcraft.jsch.RequestAgentForwarding].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.Logger].isEnabled(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Logger].isEnabled(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - message
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '[com.jcraft.jsch.Logger].log(int,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Logger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Logger].log(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(int)'
      Src: com.jcraft.jsch.Logger:45,1
    - Dst: '[java.io.StringWriter].<init>()'
      Src: com.jcraft.jsch.Logger:49,1
    - Dst: '[java.io.PrintWriter].<init>(java.io.StringWriter,boolean)'
      Src: com.jcraft.jsch.Logger:50,1
    - Dst: '[Throwable].printStackTrace(com.jcraft.jsch.Logger)'
      Src: com.jcraft.jsch.Logger:51,1
    - Dst: System.lineSeparator()
      Src: com.jcraft.jsch.Logger:53,1
    - Dst: '[java.io.StringWriter].toString()'
      Src: com.jcraft.jsch.Logger:53,1
    - Dst: '[com.jcraft.jsch.Logger].log(int,com.jcraft.jsch.Logger)'
      Src: com.jcraft.jsch.Logger:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - level
    - message
    - cause
    argTypes:
    - int
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.Logger].log(int,String,Throwable)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Logger.java
    functionUses: 0
    functionsReached:
    - '[java.io.PrintWriter].<init>(java.io.StringWriter,boolean)'
    - '[com.jcraft.jsch.Logger].log(int,com.jcraft.jsch.Logger)'
    - System.lineSeparator()
    - '[java.io.StringWriter].<init>()'
    - '[java.io.StringWriter].toString()'
    - '[com.jcraft.jsch.Logger].isEnabled(int)'
    - '[Throwable].printStackTrace(com.jcraft.jsch.Logger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Logger].log(int,String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Logger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Logger].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Logger.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Logger
    signature: '[com.jcraft.jsch.Logger].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 8
    argNames:
    - salt
    - iteration
    - type
    - additional
    - secret
    - memory
    - parallelism
    - version
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - byte[]
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: '[com.jcraft.jsch.Argon2].init(byte[],int,int,byte[],byte[],int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Argon2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Argon2].init(byte[],int,int,byte[],byte[],int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Argon2
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Argon2].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Argon2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Argon2
    signature: '[com.jcraft.jsch.Argon2].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:15,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].<init>()'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.ChannelDirectStreamLocal
      static: false
      superClass: com.jcraft.jsch.ChannelDirectTCPIP
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: '[com.jcraft.jsch.ChannelDirectStreamLocal].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectStreamLocal.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelDirectStreamLocal
    signature: '[com.jcraft.jsch.ChannelDirectStreamLocal].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:31,1
    - Dst: '[com.jcraft.jsch.ChannelDirectStreamLocal].log(com.jcraft.jsch.ChannelDirectStreamLocal,String)'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:31,1
    - Dst: '[RuntimeException].<init>(String)'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:32,1
    - Dst: session.getBufferMargin()
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:44,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelDirectStreamLocal)'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:44,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:45,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:46,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:47,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.ChannelDirectStreamLocal)'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:48,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelDirectStreamLocal)'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:49,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelDirectStreamLocal)'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:50,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelDirectStreamLocal)'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:51,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:52,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:52,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelDirectStreamLocal)'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:53,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:53,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelDirectStreamLocal)'
      Src: com.jcraft.jsch.ChannelDirectStreamLocal:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Packet
      static: false
      superClass: com.jcraft.jsch.ChannelDirectTCPIP
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.ChannelDirectStreamLocal].genChannelOpenPacket()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectStreamLocal.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[RuntimeException].<init>(String)'
    - session.getBufferMargin()
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.ChannelDirectStreamLocal].log(com.jcraft.jsch.ChannelDirectStreamLocal,String)'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelDirectStreamLocal)'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelDirectStreamLocal)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelDirectStreamLocal)'
    - '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.ChannelDirectStreamLocal)'
    - session.getLogger()
    linkageType: ''
    returnType: com.jcraft.jsch.Packet
    signature: '[com.jcraft.jsch.ChannelDirectStreamLocal].genChannelOpenPacket()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.ChannelDirectTCPIP
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[com.jcraft.jsch.ChannelDirectStreamLocal].getSocketPath()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectStreamLocal.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelDirectStreamLocal].getSocketPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelDirectTCPIP
    argCount: 1
    argNames:
    - socketPath
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: '[com.jcraft.jsch.ChannelDirectStreamLocal].setSocketPath(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectStreamLocal.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelDirectStreamLocal].setSocketPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pass
    - size
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.KDF].getKey(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KDF.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KDF].getKey(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KDF:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kdfOptions
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.KDF].initWithOpenSSHv1KDFOptions(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KDF.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KDF].initWithOpenSSHv1KDFOptions(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KDF:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,String>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - header
    argTypes:
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.KDF].initWithPPKv3Header(java.util.Map<String,String>)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KDF.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KDF].initWithPPKv3Header(java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KDF:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - asn1
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.KDF].initWithASN1(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KDF.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KDF].initWithASN1(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KDF
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KDF].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KDF.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KDF
    signature: '[com.jcraft.jsch.KDF].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>()'
      Src: com.jcraft.jsch.JSchStrictKexException:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSchStrictKexException
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.JSchStrictKexException].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchStrictKexException.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchStrictKexException
    signature: '[com.jcraft.jsch.JSchStrictKexException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.JSchStrictKexException:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSchStrictKexException
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.JSchStrictKexException].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchStrictKexException.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchStrictKexException
    signature: '[com.jcraft.jsch.JSchStrictKexException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHEC256MLKEM768
      static: false
      superClass: com.jcraft.jsch.DHECNKEM
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.DHEC256MLKEM768].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHEC256MLKEM768.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHEC256MLKEM768
    signature: '[com.jcraft.jsch.DHEC256MLKEM768].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - com.jcraft.jsch.DH
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      classPublic: false
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.DHGN].G()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGN.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DHGN].G()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - com.jcraft.jsch.DH
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      classPublic: false
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '[com.jcraft.jsch.DHGN].P()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGN.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DHGN].P()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - com.jcraft.jsch.DH
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      classPublic: false
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '[com.jcraft.jsch.DHGN].sha_name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGN.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.DHGN].sha_name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.DHGN].sha_name()'
      Src: com.jcraft.jsch.DHGN:63,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHGN:63,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.DHGN:63,1
    - Dst: '[com.jcraft.jsch.DHGN].asSubclass()'
      Src: com.jcraft.jsch.DHGN:63,1
    - Dst: '[com.jcraft.jsch.DHGN].getDeclaredConstructor()'
      Src: com.jcraft.jsch.DHGN:64,1
    - Dst: '[com.jcraft.jsch.DHGN].newInstance()'
      Src: com.jcraft.jsch.DHGN:64,1
    - Dst: '[com.jcraft.jsch.DHGN].init()'
      Src: com.jcraft.jsch.DHGN:65,1
    - Dst: '[byte[]].toString()'
      Src: com.jcraft.jsch.DHGN:67,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHGN,byte[])'
      Src: com.jcraft.jsch.DHGN:67,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.DHGN:70,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.DHGN:71,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHGN:74,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.DHGN:74,1
    - Dst: '[com.jcraft.jsch.DHGN].asSubclass()'
      Src: com.jcraft.jsch.DHGN:74,1
    - Dst: '[com.jcraft.jsch.DHGN].getDeclaredConstructor()'
      Src: com.jcraft.jsch.DHGN:75,1
    - Dst: '[com.jcraft.jsch.DHGN].newInstance()'
      Src: com.jcraft.jsch.DHGN:75,1
    - Dst: '[com.jcraft.jsch.DHGN].init()'
      Src: com.jcraft.jsch.DHGN:76,1
    - Dst: '[byte[]].toString()'
      Src: com.jcraft.jsch.DHGN:78,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHGN,byte[])'
      Src: com.jcraft.jsch.DHGN:78,1
    - Dst: '[com.jcraft.jsch.DHGN].P()'
      Src: com.jcraft.jsch.DHGN:81,1
    - Dst: '[com.jcraft.jsch.DHGN].setP(byte[])'
      Src: com.jcraft.jsch.DHGN:81,1
    - Dst: '[com.jcraft.jsch.DHGN].G()'
      Src: com.jcraft.jsch.DHGN:82,1
    - Dst: '[com.jcraft.jsch.DHGN].setG(byte[])'
      Src: com.jcraft.jsch.DHGN:82,1
    - Dst: '[com.jcraft.jsch.DHGN].getE()'
      Src: com.jcraft.jsch.DHGN:88,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.DHGN:89,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.DHGN:90,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(com.jcraft.jsch.DHGN)'
      Src: com.jcraft.jsch.DHGN:91,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.DHGN:97,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHGN:99,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.DHGN)'
      Src: com.jcraft.jsch.DHGN:99,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHGN:100,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHGN,String)'
      Src: com.jcraft.jsch.DHGN:100,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHGN:101,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHGN,String)'
      Src: com.jcraft.jsch.DHGN:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - com.jcraft.jsch.DH
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 5
    argNames:
    - session
    - V_S
    - V_C
    - I_S
    - I_C
    argTypes:
    - com.jcraft.jsch.Session
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 105
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 105
    functionName: '[com.jcraft.jsch.DHGN].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGN.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.DHGN].getE()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.DHGN].P()'
    - '[com.jcraft.jsch.DHGN].asSubclass()'
    - '[com.jcraft.jsch.DHGN].newInstance()'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.DHGN)'
    - '[com.jcraft.jsch.DHGN].init()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHGN,String)'
    - '[com.jcraft.jsch.DHGN].sha_name()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.DHGN].setP(byte[])'
    - Class.forName(String)
    - '[com.jcraft.jsch.DHGN].G()'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHGN,byte[])'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].putMPInt(com.jcraft.jsch.DHGN)'
    - '[com.jcraft.jsch.DHGN].setG(byte[])'
    - '[com.jcraft.jsch.DHGN].getDeclaredConstructor()'
    - '[byte[]].toString()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.DHGN].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.DHGN:118,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.DHGN:119,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.DHGN:120,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHGN:122,1
    - Dst: '[com.jcraft.jsch.DHGN].isEnabled(com.jcraft.jsch.DHGN)'
      Src: com.jcraft.jsch.DHGN:122,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHGN:123,1
    - Dst: '[com.jcraft.jsch.DHGN].log(com.jcraft.jsch.DHGN,String)'
      Src: com.jcraft.jsch.DHGN:123,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHGN:128,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.DHGN:130,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHGN:131,1
    - Dst: '[com.jcraft.jsch.DH].setF(byte[])'
      Src: com.jcraft.jsch.DHGN:133,1
    - Dst: '[com.jcraft.jsch.DH].checkRange()'
      Src: com.jcraft.jsch.DHGN:135,1
    - Dst: '[com.jcraft.jsch.DH].getK()'
      Src: com.jcraft.jsch.DHGN:137,1
    - Dst: '[com.jcraft.jsch.DHGN].normalize(byte[])'
      Src: com.jcraft.jsch.DHGN:137,1
    - Dst: '[com.jcraft.jsch.DHGN].encodeAsMPInt(com.jcraft.jsch.DHGN,boolean)'
      Src: com.jcraft.jsch.DHGN:137,1
    - Dst: '[com.jcraft.jsch.DHGN].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHGN:151,1
    - Dst: sha.update(com.jcraft.jsch.DHGN,int,com.jcraft.jsch.DHGN)
      Src: com.jcraft.jsch.DHGN:152,1
    - Dst: '[com.jcraft.jsch.DHGN].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHGN:153,1
    - Dst: sha.update(com.jcraft.jsch.DHGN,int,com.jcraft.jsch.DHGN)
      Src: com.jcraft.jsch.DHGN:154,1
    - Dst: '[com.jcraft.jsch.DHGN].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHGN:155,1
    - Dst: sha.update(com.jcraft.jsch.DHGN,int,com.jcraft.jsch.DHGN)
      Src: com.jcraft.jsch.DHGN:156,1
    - Dst: '[com.jcraft.jsch.DHGN].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHGN:157,1
    - Dst: sha.update(com.jcraft.jsch.DHGN,int,com.jcraft.jsch.DHGN)
      Src: com.jcraft.jsch.DHGN:158,1
    - Dst: '[com.jcraft.jsch.DHGN].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHGN:159,1
    - Dst: sha.update(com.jcraft.jsch.DHGN,int,com.jcraft.jsch.DHGN)
      Src: com.jcraft.jsch.DHGN:160,1
    - Dst: '[com.jcraft.jsch.DHGN].encodeAsMPInt(byte[],boolean)'
      Src: com.jcraft.jsch.DHGN:161,1
    - Dst: sha.update(com.jcraft.jsch.DHGN,int,com.jcraft.jsch.DHGN)
      Src: com.jcraft.jsch.DHGN:162,1
    - Dst: '[com.jcraft.jsch.DHGN].encodeAsMPInt(byte[],boolean)'
      Src: com.jcraft.jsch.DHGN:163,1
    - Dst: sha.update(com.jcraft.jsch.DHGN,int,com.jcraft.jsch.DHGN)
      Src: com.jcraft.jsch.DHGN:164,1
    - Dst: sha.update(com.jcraft.jsch.DHGN,int,com.jcraft.jsch.DHGN)
      Src: com.jcraft.jsch.DHGN:166,1
    - Dst: sha.digest()
      Src: com.jcraft.jsch.DHGN:167,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.DHGN,com.jcraft.jsch.DHGN)'
      Src: com.jcraft.jsch.DHGN:174,1
    - Dst: '[com.jcraft.jsch.DHGN].verify(String,byte[],com.jcraft.jsch.DHGN,byte[])'
      Src: com.jcraft.jsch.DHGN:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 67
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - com.jcraft.jsch.DH
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 183
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 183
    functionName: '[com.jcraft.jsch.DHGN].next(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGN.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getMPInt()'
    - '[com.jcraft.jsch.DHGN].encodeAsMPInt(com.jcraft.jsch.DHGN,boolean)'
    - sha.digest()
    - '[com.jcraft.jsch.DH].getK()'
    - '[com.jcraft.jsch.DH].checkRange()'
    - '[com.jcraft.jsch.DHGN].encodeAsString(byte[],boolean)'
    - '[com.jcraft.jsch.DHGN].isEnabled(com.jcraft.jsch.DHGN)'
    - '[com.jcraft.jsch.DH].setF(byte[])'
    - '[com.jcraft.jsch.DHGN].normalize(byte[])'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.DHGN].encodeAsMPInt(byte[],boolean)'
    - '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.DHGN,com.jcraft.jsch.DHGN)'
    - '[com.jcraft.jsch.DHGN].verify(String,byte[],com.jcraft.jsch.DHGN,byte[])'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - sha.update(com.jcraft.jsch.DHGN,int,com.jcraft.jsch.DHGN)
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.DHGN].log(com.jcraft.jsch.DHGN,String)'
    - session.getLogger()
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.DHGN].next(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - com.jcraft.jsch.DH
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: '[com.jcraft.jsch.DHGN].getState()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGN.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.DHGN].getState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - com.jcraft.jsch.DH
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHGN
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHGN].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGN.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHGN
    signature: '[com.jcraft.jsch.DHGN].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Request].setReply(boolean)'
      Src: com.jcraft.jsch.Request:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - channel
    argTypes:
    - com.jcraft.jsch.Session
    - com.jcraft.jsch.Channel
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Request.java
    functionUses: 10
    functionsReached:
    - '[com.jcraft.jsch.Request].setReply(boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.Request].waitForReply()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Request.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Request].waitForReply()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - reply
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.Request].setReply(boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Request.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Request].setReply(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Request:54,1
    - Dst: System.currentTimeMillis()
      Src: com.jcraft.jsch.Request:56,1
    - Dst: '[com.jcraft.jsch.Channel].isConnected()'
      Src: com.jcraft.jsch.Request:58,1
    - Dst: Thread.sleep(int)
      Src: com.jcraft.jsch.Request:60,1
    - Dst: System.currentTimeMillis()
      Src: com.jcraft.jsch.Request:63,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Request:65,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Request:70,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Packet
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - packet
    argTypes:
    - com.jcraft.jsch.Packet
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 5
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: '[com.jcraft.jsch.Request].write(com.jcraft.jsch.Packet)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Request.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Channel].isConnected()'
    - System.currentTimeMillis()
    - Thread.sleep(int)
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Request].write(com.jcraft.jsch.Packet)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Request
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Request].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Request.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Request
    signature: '[com.jcraft.jsch.Request].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.newsclub.net.unix.AFUNIXSocketChannel].open()'
      Src: com.jcraft.jsch.JUnixSocketFactory:42,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].<init>(String,com.jcraft.jsch.JUnixSocketFactory)'
      Src: com.jcraft.jsch.JUnixSocketFactory:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.AgentProxyException
      interfaces:
      - com.jcraft.jsch.USocketFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JUnixSocketFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JUnixSocketFactory.java
    functionUses: 7
    functionsReached:
    - '[org.newsclub.net.unix.AFUNIXSocketChannel].open()'
    - '[com.jcraft.jsch.AgentProxyException].<init>(String,com.jcraft.jsch.JUnixSocketFactory)'
    linkageType: ''
    returnType: com.jcraft.jsch.JUnixSocketFactory
    signature: '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.newsclub.net.unix.AFUNIXSocketAddress].of(java.nio.file.Path)'
      Src: com.jcraft.jsch.JUnixSocketFactory:50,1
    - Dst: '[org.newsclub.net.unix.AFUNIXSocketChannel].open()'
      Src: com.jcraft.jsch.JUnixSocketFactory:51,1
    - Dst: '[com.jcraft.jsch.JUnixSocketFactory].configureBlocking(boolean)'
      Src: com.jcraft.jsch.JUnixSocketFactory:52,1
    - Dst: '[com.jcraft.jsch.JUnixSocketFactory].connect(com.jcraft.jsch.JUnixSocketFactory)'
      Src: com.jcraft.jsch.JUnixSocketFactory:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.USocketFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.channels.SocketChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: '[com.jcraft.jsch.JUnixSocketFactory].connect(java.nio.file.Path)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JUnixSocketFactory.java
    functionUses: 0
    functionsReached:
    - '[org.newsclub.net.unix.AFUNIXSocketChannel].open()'
    - '[org.newsclub.net.unix.AFUNIXSocketAddress].of(java.nio.file.Path)'
    - '[com.jcraft.jsch.JUnixSocketFactory].configureBlocking(boolean)'
    - '[com.jcraft.jsch.JUnixSocketFactory].connect(com.jcraft.jsch.JUnixSocketFactory)'
    linkageType: ''
    returnType: java.nio.channels.SocketChannel
    signature: '[com.jcraft.jsch.JUnixSocketFactory].connect(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.newsclub.net.unix.AFUNIXSocketAddress].of(java.nio.file.Path)'
      Src: com.jcraft.jsch.JUnixSocketFactory:59,1
    - Dst: '[org.newsclub.net.unix.AFUNIXServerSocketChannel].open()'
      Src: com.jcraft.jsch.JUnixSocketFactory:60,1
    - Dst: '[com.jcraft.jsch.JUnixSocketFactory].configureBlocking(boolean)'
      Src: com.jcraft.jsch.JUnixSocketFactory:61,1
    - Dst: '[com.jcraft.jsch.JUnixSocketFactory].bind(com.jcraft.jsch.JUnixSocketFactory)'
      Src: com.jcraft.jsch.JUnixSocketFactory:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.USocketFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.channels.ServerSocketChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: '[com.jcraft.jsch.JUnixSocketFactory].bind(java.nio.file.Path)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JUnixSocketFactory.java
    functionUses: 0
    functionsReached:
    - '[org.newsclub.net.unix.AFUNIXSocketAddress].of(java.nio.file.Path)'
    - '[com.jcraft.jsch.JUnixSocketFactory].configureBlocking(boolean)'
    - '[com.jcraft.jsch.JUnixSocketFactory].bind(com.jcraft.jsch.JUnixSocketFactory)'
    - '[org.newsclub.net.unix.AFUNIXServerSocketChannel].open()'
    linkageType: ''
    returnType: java.nio.channels.ServerSocketChannel
    signature: '[com.jcraft.jsch.JUnixSocketFactory].bind(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String)'
      Src: com.jcraft.jsch.AgentProxyException:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.AgentProxyException
      static: false
      superClass: Exception
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.AgentProxyException].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentProxyException.java
    functionUses: 6
    functionsReached:
    - '[Exception].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.AgentProxyException
    signature: '[com.jcraft.jsch.AgentProxyException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String,Throwable)'
      Src: com.jcraft.jsch.AgentProxyException:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.AgentProxyException
      static: false
      superClass: Exception
    argCount: 2
    argNames:
    - message
    - e
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.AgentProxyException].<init>(String,Throwable)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentProxyException.java
    functionUses: 0
    functionsReached:
    - '[Exception].<init>(String,Throwable)'
    linkageType: ''
    returnType: com.jcraft.jsch.AgentProxyException
    signature: '[com.jcraft.jsch.AgentProxyException].<init>(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].getUSocketFactory()'
      Src: com.jcraft.jsch.SSHAgentConnector:42,1
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].getSshAuthSocket()'
      Src: com.jcraft.jsch.SSHAgentConnector:42,1
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentConnector:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - com.jcraft.jsch.USocketFactory
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.AgentProxyException
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SSHAgentConnector
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.SSHAgentConnector].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentConnector].getSshAuthSocket()'
    - '[com.jcraft.jsch.SSHAgentConnector].getUSocketFactory()'
    - '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
    linkageType: ''
    returnType: com.jcraft.jsch.SSHAgentConnector
    signature: '[com.jcraft.jsch.SSHAgentConnector].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].getUSocketFactory()'
      Src: com.jcraft.jsch.SSHAgentConnector:46,1
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentConnector:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - com.jcraft.jsch.USocketFactory
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.AgentProxyException
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SSHAgentConnector
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - usocketPath
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[com.jcraft.jsch.SSHAgentConnector].<init>(java.nio.file.Path)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentConnector].getUSocketFactory()'
    - '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
    linkageType: ''
    returnType: com.jcraft.jsch.SSHAgentConnector
    signature: '[com.jcraft.jsch.SSHAgentConnector].<init>(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].getSshAuthSocket()'
      Src: com.jcraft.jsch.SSHAgentConnector:50,1
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentConnector:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.USocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - com.jcraft.jsch.USocketFactory
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.AgentProxyException
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SSHAgentConnector
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - factory
    argTypes:
    - com.jcraft.jsch.USocketFactory
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentConnector].getSshAuthSocket()'
    - '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
    linkageType: ''
    returnType: com.jcraft.jsch.SSHAgentConnector
    signature: '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.USocketFactory
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - com.jcraft.jsch.USocketFactory
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SSHAgentConnector
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - factory
    - usocketPath
    argTypes:
    - com.jcraft.jsch.USocketFactory
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.SSHAgentConnector
    signature: '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - com.jcraft.jsch.USocketFactory
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[com.jcraft.jsch.SSHAgentConnector].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.SSHAgentConnector].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].open()'
      Src: com.jcraft.jsch.SSHAgentConnector:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - com.jcraft.jsch.USocketFactory
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.SSHAgentConnector].isAvailable()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentConnector].open()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.SSHAgentConnector].isAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.USocketFactory].connect(java.nio.file.Path)'
      Src: com.jcraft.jsch.SSHAgentConnector:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - com.jcraft.jsch.USocketFactory
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.channels.SocketChannel
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: '[com.jcraft.jsch.SSHAgentConnector].open()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.USocketFactory].connect(java.nio.file.Path)'
    linkageType: ''
    returnType: java.nio.channels.SocketChannel
    signature: '[com.jcraft.jsch.SSHAgentConnector].open()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].open()'
      Src: com.jcraft.jsch.SSHAgentConnector:79,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.SSHAgentConnector:80,1
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].writeFull(com.jcraft.jsch.SSHAgentConnector,com.jcraft.jsch.Buffer,int,int)'
      Src: com.jcraft.jsch.SSHAgentConnector:80,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.SSHAgentConnector:81,1
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].readFull(com.jcraft.jsch.SSHAgentConnector,com.jcraft.jsch.Buffer,int,int)'
      Src: com.jcraft.jsch.SSHAgentConnector:82,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.SSHAgentConnector:83,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].<init>(String)'
      Src: com.jcraft.jsch.SSHAgentConnector:85,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.SSHAgentConnector:87,1
    - Dst: '[com.jcraft.jsch.Buffer].checkFreeSize(int)'
      Src: com.jcraft.jsch.SSHAgentConnector:88,1
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].readFull(com.jcraft.jsch.SSHAgentConnector,com.jcraft.jsch.Buffer,int,int)'
      Src: com.jcraft.jsch.SSHAgentConnector:89,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.SSHAgentConnector:91,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].<init>(com.jcraft.jsch.SSHAgentConnector,com.jcraft.jsch.SSHAgentConnector)'
      Src: com.jcraft.jsch.SSHAgentConnector:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - com.jcraft.jsch.USocketFactory
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.AgentProxyException
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: '[com.jcraft.jsch.SSHAgentConnector].query(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SSHAgentConnector].writeFull(com.jcraft.jsch.SSHAgentConnector,com.jcraft.jsch.Buffer,int,int)'
    - '[com.jcraft.jsch.Buffer].getLength()'
    - '[com.jcraft.jsch.Buffer].checkFreeSize(int)'
    - '[com.jcraft.jsch.AgentProxyException].<init>(com.jcraft.jsch.SSHAgentConnector,com.jcraft.jsch.SSHAgentConnector)'
    - '[com.jcraft.jsch.SSHAgentConnector].open()'
    - '[com.jcraft.jsch.Buffer].rewind()'
    - '[com.jcraft.jsch.AgentProxyException].<init>(String)'
    - e.toString()
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.SSHAgentConnector].readFull(com.jcraft.jsch.SSHAgentConnector,com.jcraft.jsch.Buffer,int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SSHAgentConnector].query(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
      Src: com.jcraft.jsch.SSHAgentConnector:97,1
    - Dst: '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
      Src: com.jcraft.jsch.SSHAgentConnector:100,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].<init>(String)'
      Src: com.jcraft.jsch.SSHAgentConnector:102,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].addSuppressed(com.jcraft.jsch.SSHAgentConnector)'
      Src: com.jcraft.jsch.SSHAgentConnector:103,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].addSuppressed(com.jcraft.jsch.SSHAgentConnector)'
      Src: com.jcraft.jsch.SSHAgentConnector:104,1
    - Dst: ee.addSuppressed(com.jcraft.jsch.SSHAgentConnector)
      Src: com.jcraft.jsch.SSHAgentConnector:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - com.jcraft.jsch.USocketFactory
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.AgentProxyException
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.USocketFactory
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: '[com.jcraft.jsch.SSHAgentConnector].getUSocketFactory()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.AgentProxyException].addSuppressed(com.jcraft.jsch.SSHAgentConnector)'
    - '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
    - '[com.jcraft.jsch.AgentProxyException].<init>(String)'
    - '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
    - ee.addSuppressed(com.jcraft.jsch.SSHAgentConnector)
    linkageType: ''
    returnType: com.jcraft.jsch.USocketFactory
    signature: '[com.jcraft.jsch.SSHAgentConnector].getUSocketFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].getSystemEnv(String)'
      Src: com.jcraft.jsch.SSHAgentConnector:114,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].<init>(String)'
      Src: com.jcraft.jsch.SSHAgentConnector:116,1
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: com.jcraft.jsch.SSHAgentConnector:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - com.jcraft.jsch.USocketFactory
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.AgentProxyException
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.file.Path
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: '[com.jcraft.jsch.SSHAgentConnector].getSshAuthSocket()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Util].getSystemEnv(String)'
    - '[java.nio.file.Paths].get(String)'
    - '[com.jcraft.jsch.AgentProxyException].<init>(String)'
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[com.jcraft.jsch.SSHAgentConnector].getSshAuthSocket()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].wrap(byte[],int,int)'
      Src: com.jcraft.jsch.SSHAgentConnector:123,1
    - Dst: '[java.nio.channels.SocketChannel].read(com.jcraft.jsch.SSHAgentConnector)'
      Src: com.jcraft.jsch.SSHAgentConnector:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.SocketChannel
      - com.jcraft.jsch.Buffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - com.jcraft.jsch.USocketFactory
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - sock
    - buffer
    - s
    - len
    argTypes:
    - java.nio.channels.SocketChannel
    - com.jcraft.jsch.Buffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: '[com.jcraft.jsch.SSHAgentConnector].readFull(java.nio.channels.SocketChannel,com.jcraft.jsch.Buffer,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].wrap(byte[],int,int)'
    - '[java.nio.channels.SocketChannel].read(com.jcraft.jsch.SSHAgentConnector)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.SSHAgentConnector].readFull(java.nio.channels.SocketChannel,com.jcraft.jsch.Buffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].wrap(byte[],int,int)'
      Src: com.jcraft.jsch.SSHAgentConnector:138,1
    - Dst: '[java.nio.channels.SocketChannel].write(com.jcraft.jsch.SSHAgentConnector)'
      Src: com.jcraft.jsch.SSHAgentConnector:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.SocketChannel
      - com.jcraft.jsch.Buffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - com.jcraft.jsch.USocketFactory
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - sock
    - buffer
    - s
    - len
    argTypes:
    - java.nio.channels.SocketChannel
    - com.jcraft.jsch.Buffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: '[com.jcraft.jsch.SSHAgentConnector].writeFull(java.nio.channels.SocketChannel,com.jcraft.jsch.Buffer,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.SocketChannel].write(com.jcraft.jsch.SSHAgentConnector)'
    - '[java.nio.ByteBuffer].wrap(byte[],int,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.SSHAgentConnector].writeFull(java.nio.channels.SocketChannel,com.jcraft.jsch.Buffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.DHGEX256
      static: false
      superClass: com.jcraft.jsch.DHGEX
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.DHGEX256].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHGEX256
    signature: '[com.jcraft.jsch.DHGEX256].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>()'
      Src: com.jcraft.jsch.JSchHostKeyException:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSchHostKeyException
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.JSchHostKeyException].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchHostKeyException.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchHostKeyException
    signature: '[com.jcraft.jsch.JSchHostKeyException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.JSchHostKeyException:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSchHostKeyException
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.JSchHostKeyException].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchHostKeyException.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchHostKeyException
    signature: '[com.jcraft.jsch.JSchHostKeyException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:38,1
    - Dst: '[com.jcraft.jsch.IdentityRepositoryWrapper].<init>(com.jcraft.jsch.IdentityRepository,boolean)'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.IdentityRepository
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.IdentityRepository
      - java.util.Vector<com.jcraft.jsch.Identity>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.IdentityRepositoryWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ir
    argTypes:
    - com.jcraft.jsch.IdentityRepository
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.IdentityRepositoryWrapper].<init>(com.jcraft.jsch.IdentityRepository)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepositoryWrapper.java
    functionUses: 1
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.IdentityRepositoryWrapper].<init>(com.jcraft.jsch.IdentityRepository,boolean)'
    linkageType: ''
    returnType: com.jcraft.jsch.IdentityRepositoryWrapper
    signature: '[com.jcraft.jsch.IdentityRepositoryWrapper].<init>(com.jcraft.jsch.IdentityRepository)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.IdentityRepository
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.IdentityRepository
      - java.util.Vector<com.jcraft.jsch.Identity>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.IdentityRepositoryWrapper
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - ir
    - keep_in_cache
    argTypes:
    - com.jcraft.jsch.IdentityRepository
    - boolean
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.IdentityRepositoryWrapper].<init>(com.jcraft.jsch.IdentityRepository,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepositoryWrapper.java
    functionUses: 2
    functionsReached:
    - '[java.util.Vector].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.IdentityRepositoryWrapper
    signature: '[com.jcraft.jsch.IdentityRepositoryWrapper].<init>(com.jcraft.jsch.IdentityRepository,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IdentityRepository].getName()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.IdentityRepository
      - java.util.Vector<com.jcraft.jsch.Identity>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.IdentityRepositoryWrapper].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepositoryWrapper.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IdentityRepository].getName()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.IdentityRepositoryWrapper].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IdentityRepository].getStatus()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.IdentityRepository
      - java.util.Vector<com.jcraft.jsch.Identity>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.IdentityRepositoryWrapper].getStatus()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepositoryWrapper.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IdentityRepository].getStatus()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.IdentityRepositoryWrapper].getStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IdentityRepository].add(byte[])'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.IdentityRepository
      - java.util.Vector<com.jcraft.jsch.Identity>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identity
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[com.jcraft.jsch.IdentityRepositoryWrapper].add(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepositoryWrapper.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IdentityRepository].add(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.IdentityRepositoryWrapper].add(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IdentityRepository].remove(byte[])'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.IdentityRepository
      - java.util.Vector<com.jcraft.jsch.Identity>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - blob
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[com.jcraft.jsch.IdentityRepositoryWrapper].remove(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepositoryWrapper.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IdentityRepository].remove(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.IdentityRepositoryWrapper].remove(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].removeAllElements()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:72,1
    - Dst: '[com.jcraft.jsch.IdentityRepository].removeAll()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.IdentityRepository
      - java.util.Vector<com.jcraft.jsch.Identity>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: '[com.jcraft.jsch.IdentityRepositoryWrapper].removeAll()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepositoryWrapper.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IdentityRepository].removeAll()'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].removeAllElements()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IdentityRepositoryWrapper].removeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:78,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:79,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.IdentityRepositoryWrapper)'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:80,1
    - Dst: '[java.util.Vector].add(com.jcraft.jsch.IdentityRepositoryWrapper)'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:81,1
    - Dst: '[com.jcraft.jsch.IdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:83,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:84,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.IdentityRepositoryWrapper)'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:85,1
    - Dst: '[java.util.Vector].add(com.jcraft.jsch.IdentityRepositoryWrapper)'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.IdentityRepository
      - java.util.Vector<com.jcraft.jsch.Identity>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Vector<com.jcraft.jsch.Identity>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: '[com.jcraft.jsch.IdentityRepositoryWrapper].getIdentities()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepositoryWrapper.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[java.util.Vector].add(com.jcraft.jsch.IdentityRepositoryWrapper)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.IdentityRepositoryWrapper)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    - '[com.jcraft.jsch.IdentityRepository].getIdentities()'
    linkageType: ''
    returnType: java.util.Vector<com.jcraft.jsch.Identity>
    signature: '[com.jcraft.jsch.IdentityRepositoryWrapper].getIdentities()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Identity].isEncrypted()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:91,1
    - Dst: '[com.jcraft.jsch.IdentityFile].getKeyPair()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:93,1
    - Dst: '[com.jcraft.jsch.KeyPair].forSSHAgent()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:93,1
    - Dst: '[com.jcraft.jsch.IdentityRepository].add(byte[])'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:93,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].addElement(com.jcraft.jsch.Identity)'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Identity
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.IdentityRepository
      - java.util.Vector<com.jcraft.jsch.Identity>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identity
    argTypes:
    - com.jcraft.jsch.Identity
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: '[com.jcraft.jsch.IdentityRepositoryWrapper].add(com.jcraft.jsch.Identity)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepositoryWrapper.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Identity].isEncrypted()'
    - '[com.jcraft.jsch.IdentityRepository].add(byte[])'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].addElement(com.jcraft.jsch.Identity)'
    - '[com.jcraft.jsch.IdentityFile].getKeyPair()'
    - '[com.jcraft.jsch.KeyPair].forSSHAgent()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IdentityRepositoryWrapper].add(com.jcraft.jsch.Identity)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:102,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].toArray()'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:103,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].removeElement(com.jcraft.jsch.IdentityRepositoryWrapper)'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:106,1
    - Dst: '[com.jcraft.jsch.IdentityRepositoryWrapper].add(com.jcraft.jsch.IdentityRepositoryWrapper)'
      Src: com.jcraft.jsch.IdentityRepositoryWrapper:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.IdentityRepository
      - java.util.Vector<com.jcraft.jsch.Identity>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: '[com.jcraft.jsch.IdentityRepositoryWrapper].check()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepositoryWrapper.java
    functionUses: 1
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.Identity>].removeElement(com.jcraft.jsch.IdentityRepositoryWrapper)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].toArray()'
    - '[com.jcraft.jsch.IdentityRepositoryWrapper].add(com.jcraft.jsch.IdentityRepositoryWrapper)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IdentityRepositoryWrapper].check()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[com.jcraft.jsch.DHG14N].G()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG14N.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DHG14N].G()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[com.jcraft.jsch.DHG14N].P()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG14N.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DHG14N].P()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHG14N
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHG14N].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG14N.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHG14N
    signature: '[com.jcraft.jsch.DHG14N].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Buffer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '[com.jcraft.jsch.Buffer].<init>(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Buffer
    signature: '[com.jcraft.jsch.Buffer].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Buffer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.Buffer].<init>(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Buffer
    signature: '[com.jcraft.jsch.Buffer].<init>(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(int)'
      Src: com.jcraft.jsch.Buffer:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Buffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[com.jcraft.jsch.Buffer].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 32
    functionsReached:
    - '[com.jcraft.jsch.Buffer].<init>(int)'
    linkageType: ''
    returnType: com.jcraft.jsch.Buffer
    signature: '[com.jcraft.jsch.Buffer].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.Buffer].putByte(byte)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].putByte(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[],int,com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Buffer:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[com.jcraft.jsch.Buffer].putByte(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 5
    functionsReached:
    - '[com.jcraft.jsch.Buffer].putByte(byte[],int,com.jcraft.jsch.Buffer)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].putByte(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.Buffer:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - begin
    - length
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[com.jcraft.jsch.Buffer].putByte(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 2
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,int)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].putByte(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[],int,com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Buffer:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: '[com.jcraft.jsch.Buffer].putString(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 51
    functionsReached:
    - '[com.jcraft.jsch.Buffer].putString(byte[],int,com.jcraft.jsch.Buffer)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].putString(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Buffer:69,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[],int,int)'
      Src: com.jcraft.jsch.Buffer:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - begin
    - length
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.Buffer].putString(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].putByte(byte[],int,int)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].putString(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.Buffer:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.Buffer].putInt(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 42
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,int)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].putInt(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.Buffer:87,1
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.Buffer:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - val
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: '[com.jcraft.jsch.Buffer].putLong(long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 3
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,int)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].putLong(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: '[com.jcraft.jsch.Buffer].skip(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].skip(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: '[com.jcraft.jsch.Buffer].putPad(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].putPad(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Buffer:111,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Buffer:112,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Buffer:114,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.Buffer:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 6
    functionsReached:
    - '[com.jcraft.jsch.Buffer].putByte(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.Buffer)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: '[com.jcraft.jsch.Buffer].getLength()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Buffer].getLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: '[com.jcraft.jsch.Buffer].getOffSet()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Buffer].getOffSet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: '[com.jcraft.jsch.Buffer].setOffSet(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].setOffSet(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Buffer:132,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Buffer:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: '[com.jcraft.jsch.Buffer].getLong()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getInt()'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.Buffer].getLong()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Buffer:138,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Buffer:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: '[com.jcraft.jsch.Buffer].getInt()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 60
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getShort()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Buffer].getInt()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.Buffer:146,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.Buffer:147,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.Buffer:148,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.Buffer:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: '[com.jcraft.jsch.Buffer].getUInt()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getByte()'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.Buffer].getUInt()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.Buffer:155,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.Buffer:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: '[com.jcraft.jsch.Buffer].getShort()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getByte()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Buffer].getShort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: '[com.jcraft.jsch.Buffer].getByte()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Buffer].getByte()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getByte(byte[],int,com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Buffer:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: '[com.jcraft.jsch.Buffer].getByte(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getByte(byte[],int,com.jcraft.jsch.Buffer)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].getByte(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.Buffer:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '[com.jcraft.jsch.Buffer].getByte(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,int)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].getByte(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: '[com.jcraft.jsch.Buffer].getByte(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Buffer].getByte(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Buffer:180,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.Buffer,int,com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Buffer:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: '[com.jcraft.jsch.Buffer].getMPInt()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 6
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.Buffer,int,com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Buffer].getMPInt()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Buffer:192,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.Buffer,int,com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Buffer:195,1
    - Dst: System.arraycopy(com.jcraft.jsch.Buffer,int,com.jcraft.jsch.Buffer,int,com.jcraft.jsch.Buffer)
      Src: com.jcraft.jsch.Buffer:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: '[com.jcraft.jsch.Buffer].getMPIntBits()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.Buffer,int,com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - System.arraycopy(com.jcraft.jsch.Buffer,int,com.jcraft.jsch.Buffer,int,com.jcraft.jsch.Buffer)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Buffer].getMPIntBits()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Buffer:206,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.Buffer,int,com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Buffer:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: '[com.jcraft.jsch.Buffer].getString()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 45
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.Buffer,int,com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Buffer].getString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Buffer:218,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(int)'
      Src: com.jcraft.jsch.Buffer:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int[]
      - int[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - start
    - len
    argTypes:
    - int[]
    - int[]
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: '[com.jcraft.jsch.Buffer].getString(int[],int[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Buffer].getByte(int)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Buffer].getString(int[],int[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: '[com.jcraft.jsch.Buffer].reset()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.Buffer)
      Src: com.jcraft.jsch.Buffer:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: '[com.jcraft.jsch.Buffer].shift()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 2
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.Buffer)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].shift()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: '[com.jcraft.jsch.Buffer].rewind()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].rewind()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: '[com.jcraft.jsch.Buffer].getCommand()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: '[com.jcraft.jsch.Buffer].getCommand()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.Buffer:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: '[com.jcraft.jsch.Buffer].checkFreeSize(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 3
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,int)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Buffer].checkFreeSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Buffer:265,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.Buffer:266,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Buffer:267,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.Buffer:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[][]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - n
    - msg
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: '[com.jcraft.jsch.Buffer].getBytes(int,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 9
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Buffer].getLength()'
    linkageType: ''
    returnType: byte[][]
    signature: '[com.jcraft.jsch.Buffer].getBytes(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Buffer:286,1
    - Dst: '[com.jcraft.jsch.Buffer].putString()'
      Src: com.jcraft.jsch.Buffer:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[][]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Buffer
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - args
    argTypes:
    - byte[][]
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: '[com.jcraft.jsch.Buffer].fromBytes(byte[][])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].putString()'
    - '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.Buffer)'
    linkageType: ''
    returnType: com.jcraft.jsch.Buffer
    signature: '[com.jcraft.jsch.Buffer].fromBytes(byte[][])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Channel:57,1
    - Dst: '[com.jcraft.jsch.ChannelSession].<init>()'
      Src: com.jcraft.jsch.Channel:58,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Channel:60,1
    - Dst: '[com.jcraft.jsch.ChannelShell].<init>()'
      Src: com.jcraft.jsch.Channel:61,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Channel:63,1
    - Dst: '[com.jcraft.jsch.ChannelExec].<init>()'
      Src: com.jcraft.jsch.Channel:64,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Channel:66,1
    - Dst: '[com.jcraft.jsch.ChannelX11].<init>()'
      Src: com.jcraft.jsch.Channel:67,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Channel:69,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].<init>()'
      Src: com.jcraft.jsch.Channel:70,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Channel:72,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].<init>()'
      Src: com.jcraft.jsch.Channel:73,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Channel:75,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].<init>()'
      Src: com.jcraft.jsch.Channel:76,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Channel:78,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].<init>()'
      Src: com.jcraft.jsch.Channel:79,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Channel:81,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Channel:81,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].setUseWriteFlushWorkaround(com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.Channel:82,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Channel:85,1
    - Dst: '[com.jcraft.jsch.ChannelSubsystem].<init>()'
      Src: com.jcraft.jsch.Channel:86,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Channel:88,1
    - Dst: '[com.jcraft.jsch.ChannelDirectStreamLocal].<init>()'
      Src: com.jcraft.jsch.Channel:89,1
    - Dst: '[com.jcraft.jsch.ChannelDirectStreamLocal].setSession(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Channel:94,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - com.jcraft.jsch.Session
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Channel
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - type
    - session
    argTypes:
    - String
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 96
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 96
    functionName: '[com.jcraft.jsch.Channel].getChannel(String,com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelShell].<init>()'
    - '[com.jcraft.jsch.ChannelX11].<init>()'
    - '[com.jcraft.jsch.ChannelAgentForwarding].<init>()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].<init>()'
    - '[com.jcraft.jsch.ChannelSftp].<init>()'
    - '[com.jcraft.jsch.ChannelSubsystem].<init>()'
    - '[com.jcraft.jsch.ChannelSftp].setUseWriteFlushWorkaround(com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].<init>()'
    - '[com.jcraft.jsch.ChannelSession].<init>()'
    - '[com.jcraft.jsch.ChannelExec].<init>()'
    - '[com.jcraft.jsch.ChannelDirectStreamLocal].setSession(com.jcraft.jsch.Session)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.ChannelDirectStreamLocal].<init>()'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.Channel
    signature: '[com.jcraft.jsch.Channel].getChannel(String,com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.locks.ReadWriteLock].readLock()'
      Src: com.jcraft.jsch.Channel:99,1
    - Dst: '[com.jcraft.jsch.Channel].lock()'
      Src: com.jcraft.jsch.Channel:100,1
    - Dst: '[com.jcraft.jsch.Channel].unlock()'
      Src: com.jcraft.jsch.Channel:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - com.jcraft.jsch.Session
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Channel
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - id
    - session
    argTypes:
    - int
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: '[com.jcraft.jsch.Channel].getChannel(int,com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Channel].lock()'
    - '[java.util.concurrent.locks.ReadWriteLock].readLock()'
    - '[com.jcraft.jsch.Channel].unlock()'
    linkageType: ''
    returnType: com.jcraft.jsch.Channel
    signature: '[com.jcraft.jsch.Channel].getChannel(int,com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.locks.ReadWriteLock].writeLock()'
      Src: com.jcraft.jsch.Channel:113,1
    - Dst: '[com.jcraft.jsch.Channel].lock()'
      Src: com.jcraft.jsch.Channel:114,1
    - Dst: '[java.util.List<com.jcraft.jsch.Channel>].remove(com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.Channel:116,1
    - Dst: '[com.jcraft.jsch.Channel].unlock()'
      Src: com.jcraft.jsch.Channel:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Channel
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - com.jcraft.jsch.Channel
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: '[com.jcraft.jsch.Channel].del(com.jcraft.jsch.Channel)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.locks.ReadWriteLock].writeLock()'
    - '[com.jcraft.jsch.Channel].lock()'
    - '[com.jcraft.jsch.Channel].unlock()'
    - '[java.util.List<com.jcraft.jsch.Channel>].remove(com.jcraft.jsch.Channel)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].del(com.jcraft.jsch.Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.locks.ReentrantReadWriteLock].<init>()'
      Src: com.jcraft.jsch.Channel:51,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: com.jcraft.jsch.Channel:53,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Channel:124,1
    - Dst: '[java.util.concurrent.locks.ReadWriteLock].writeLock()'
      Src: com.jcraft.jsch.Channel:152,1
    - Dst: '[com.jcraft.jsch.Channel].lock()'
      Src: com.jcraft.jsch.Channel:153,1
    - Dst: '[java.util.List<com.jcraft.jsch.Channel>].add()'
      Src: com.jcraft.jsch.Channel:162,1
    - Dst: '[com.jcraft.jsch.Channel].unlock()'
      Src: com.jcraft.jsch.Channel:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Channel
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: '[com.jcraft.jsch.Channel].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 5
    functionsReached:
    - '[com.jcraft.jsch.Channel].lock()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.List<com.jcraft.jsch.Channel>].add()'
    - '[java.util.concurrent.locks.ReadWriteLock].writeLock()'
    - '[com.jcraft.jsch.Channel].unlock()'
    - '[java.util.concurrent.locks.ReentrantReadWriteLock].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.Channel
    signature: '[com.jcraft.jsch.Channel].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel].notifyAll()'
      Src: com.jcraft.jsch.Channel:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: '[com.jcraft.jsch.Channel].setRecipient(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Channel].notifyAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setRecipient(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: '[com.jcraft.jsch.Channel].getRecipient()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Channel].getRecipient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: '[com.jcraft.jsch.Channel].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel].connect(int)'
      Src: com.jcraft.jsch.Channel:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 7
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: '[com.jcraft.jsch.Channel].connect()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 17
    functionsReached:
    - '[com.jcraft.jsch.Channel].connect(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].connect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel].sendChannelOpen()'
      Src: com.jcraft.jsch.Channel:187,1
    - Dst: '[com.jcraft.jsch.Channel].start()'
      Src: com.jcraft.jsch.Channel:188,1
    - Dst: '[com.jcraft.jsch.Channel].disconnect()'
      Src: com.jcraft.jsch.Channel:191,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.Channel:194,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Channel,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.Channel:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connectTimeout
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 6
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: '[com.jcraft.jsch.Channel].connect(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Channel,com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Channel].start()'
    - '[com.jcraft.jsch.Channel].sendChannelOpen()'
    - '[com.jcraft.jsch.Channel].disconnect()'
    - e.toString()
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].connect(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: '[com.jcraft.jsch.Channel].setXForwarding(boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setXForwarding(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: '[com.jcraft.jsch.Channel].start()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].start()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: '[com.jcraft.jsch.Channel].isEOF()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Channel].isEOF()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Channel:207,1
    - Dst: '[com.jcraft.jsch.Channel].setRecipient(int)'
      Src: com.jcraft.jsch.Channel:207,1
    - Dst: '[com.jcraft.jsch.Buffer].getUInt()'
      Src: com.jcraft.jsch.Channel:208,1
    - Dst: '[com.jcraft.jsch.Channel].setRemoteWindowSize(long)'
      Src: com.jcraft.jsch.Channel:208,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Channel:209,1
    - Dst: '[com.jcraft.jsch.Channel].setRemotePacketSize(int)'
      Src: com.jcraft.jsch.Channel:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: '[com.jcraft.jsch.Channel].getData(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getUInt()'
    - '[com.jcraft.jsch.Channel].setRecipient(int)'
    - '[com.jcraft.jsch.Channel].setRemotePacketSize(int)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Channel].setRemoteWindowSize(long)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].getData(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream,boolean)'
      Src: com.jcraft.jsch.Channel:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - in
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: '[com.jcraft.jsch.Channel].setInputStream(java.io.InputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setInputStream(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream,boolean)'
      Src: com.jcraft.jsch.Channel:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - in
    - dontclose
    argTypes:
    - java.io.InputStream
    - boolean
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: '[com.jcraft.jsch.Channel].setInputStream(java.io.InputStream,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setInputStream(java.io.InputStream,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream,boolean)'
      Src: com.jcraft.jsch.Channel:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - out
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: '[com.jcraft.jsch.Channel].setOutputStream(java.io.OutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setOutputStream(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream,boolean)'
      Src: com.jcraft.jsch.Channel:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - out
    - dontclose
    argTypes:
    - java.io.OutputStream
    - boolean
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: '[com.jcraft.jsch.Channel].setOutputStream(java.io.OutputStream,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setOutputStream(java.io.OutputStream,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IO].setExtOutputStream(java.io.OutputStream,boolean)'
      Src: com.jcraft.jsch.Channel:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - out
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: '[com.jcraft.jsch.Channel].setExtOutputStream(java.io.OutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IO].setExtOutputStream(java.io.OutputStream,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setExtOutputStream(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IO].setExtOutputStream(java.io.OutputStream,boolean)'
      Src: com.jcraft.jsch.Channel:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - out
    - dontclose
    argTypes:
    - java.io.OutputStream
    - boolean
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: '[com.jcraft.jsch.Channel].setExtOutputStream(java.io.OutputStream,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IO].setExtOutputStream(java.io.OutputStream,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setExtOutputStream(java.io.OutputStream,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel].isConnected()'
      Src: com.jcraft.jsch.Channel:238,1
    - Dst: _session.getLogger()
      Src: com.jcraft.jsch.Channel:238,1
    - Dst: '[com.jcraft.jsch.Channel].isEnabled(com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.Channel:238,1
    - Dst: _session.getLogger()
      Src: com.jcraft.jsch.Channel:239,1
    - Dst: '[com.jcraft.jsch.Channel].log(com.jcraft.jsch.Channel,String)'
      Src: com.jcraft.jsch.Channel:239,1
    - Dst: '[com.jcraft.jsch.Channel].getSession()'
      Src: com.jcraft.jsch.Channel:244,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Channel:244,1
    - Dst: Integer.parseInt(String)
      Src: com.jcraft.jsch.Channel:244,1
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(int,int,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.Channel:247,1
    - Dst: '[PassiveOutputStream].<init>(com.jcraft.jsch.Channel.MyPipedInputStream,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.Channel:250,1
    - Dst: '[com.jcraft.jsch.IO].setOutputStream(PassiveOutputStream,boolean)'
      Src: com.jcraft.jsch.Channel:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: '[com.jcraft.jsch.Channel].getInputStream()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 5
    functionsReached:
    - '[com.jcraft.jsch.Channel].isEnabled(com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Channel].log(com.jcraft.jsch.Channel,String)'
    - '[com.jcraft.jsch.Channel].getSession()'
    - '[com.jcraft.jsch.IO].setOutputStream(PassiveOutputStream,boolean)'
    - '[com.jcraft.jsch.Channel].isConnected()'
    - '[PassiveOutputStream].<init>(com.jcraft.jsch.Channel.MyPipedInputStream,com.jcraft.jsch.Channel)'
    - Integer.parseInt(String)
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(int,int,com.jcraft.jsch.Channel)'
    - _session.getLogger()
    - '[com.jcraft.jsch.Session].getConfig(String)'
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[com.jcraft.jsch.Channel].getInputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel].isConnected()'
      Src: com.jcraft.jsch.Channel:256,1
    - Dst: _session.getLogger()
      Src: com.jcraft.jsch.Channel:256,1
    - Dst: '[com.jcraft.jsch.Channel].isEnabled(com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.Channel:256,1
    - Dst: _session.getLogger()
      Src: com.jcraft.jsch.Channel:257,1
    - Dst: '[com.jcraft.jsch.Channel].log(com.jcraft.jsch.Channel,String)'
      Src: com.jcraft.jsch.Channel:257,1
    - Dst: '[com.jcraft.jsch.Channel].getSession()'
      Src: com.jcraft.jsch.Channel:263,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Channel:263,1
    - Dst: Integer.parseInt(String)
      Src: com.jcraft.jsch.Channel:263,1
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(int,int,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.Channel:266,1
    - Dst: '[PassiveOutputStream].<init>(com.jcraft.jsch.Channel.MyPipedInputStream,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.Channel:269,1
    - Dst: '[com.jcraft.jsch.IO].setExtOutputStream(PassiveOutputStream,boolean)'
      Src: com.jcraft.jsch.Channel:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 271
    functionName: '[com.jcraft.jsch.Channel].getExtInputStream()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Channel].isEnabled(com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Channel].log(com.jcraft.jsch.Channel,String)'
    - '[com.jcraft.jsch.IO].setExtOutputStream(PassiveOutputStream,boolean)'
    - '[com.jcraft.jsch.Channel].getSession()'
    - '[com.jcraft.jsch.Channel].isConnected()'
    - '[PassiveOutputStream].<init>(com.jcraft.jsch.Channel.MyPipedInputStream,com.jcraft.jsch.Channel)'
    - Integer.parseInt(String)
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(int,int,com.jcraft.jsch.Channel)'
    - _session.getLogger()
    - '[com.jcraft.jsch.Session].getConfig(String)'
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[com.jcraft.jsch.Channel].getExtInputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.OutputStream].<init>()'
      Src: com.jcraft.jsch.Channel:276,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 63
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.OutputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 387
    functionName: '[com.jcraft.jsch.Channel].getOutputStream()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 4
    functionsReached:
    - '[java.io.OutputStream].<init>()'
    linkageType: ''
    returnType: java.io.OutputStream
    signature: '[com.jcraft.jsch.Channel].getOutputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 491
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 491
    functionName: '[com.jcraft.jsch.Channel].setLocalWindowSizeMax(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setLocalWindowSizeMax(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: '[com.jcraft.jsch.Channel].setLocalWindowSize(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setLocalWindowSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: '[com.jcraft.jsch.Channel].setLocalPacketSize(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setLocalPacketSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 503
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 503
    functionName: '[com.jcraft.jsch.Channel].setRemoteWindowSize(long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setRemoteWindowSize(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel].notifyAll()'
      Src: com.jcraft.jsch.Channel:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 509
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 509
    functionName: '[com.jcraft.jsch.Channel].addRemoteWindowSize(long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Channel].notifyAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].addRemoteWindowSize(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: '[com.jcraft.jsch.Channel].setRemotePacketSize(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setRemotePacketSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: '[com.jcraft.jsch.Channel].run()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel].write(byte[],int,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.Channel:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 519
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 519
    functionName: '[com.jcraft.jsch.Channel].write(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Channel].write(byte[],int,com.jcraft.jsch.Channel)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].write(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IO].put(byte[],int,int)'
      Src: com.jcraft.jsch.Channel:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - s
    - l
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: '[com.jcraft.jsch.Channel].write(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IO].put(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].write(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IO].put_ext(byte[],int,int)'
      Src: com.jcraft.jsch.Channel:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - s
    - l
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 533
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 533
    functionName: '[com.jcraft.jsch.Channel].write_ext(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IO].put_ext(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].write_ext(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IO].out_close()'
      Src: com.jcraft.jsch.Channel:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 541
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 541
    functionName: '[com.jcraft.jsch.Channel].eof_remote()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.IO].out_close()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].eof_remote()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.Channel:548,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(int)'
      Src: com.jcraft.jsch.Channel:553,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Channel:554,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Channel:555,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Channel:556,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Channel:557,1
    - Dst: '[com.jcraft.jsch.Channel].getSession()'
      Src: com.jcraft.jsch.Channel:560,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Channel:560,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 569
      start: 543
    functionDepth: 5
    functionLinenumber: 543
    functionLinenumberEnd: 569
    functionName: '[com.jcraft.jsch.Channel].eof()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Channel].getSession()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Buffer].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].eof()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.Channel:605,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(int)'
      Src: com.jcraft.jsch.Channel:610,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Channel:611,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Channel:612,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Channel:613,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Channel:614,1
    - Dst: '[com.jcraft.jsch.Channel].getSession()'
      Src: com.jcraft.jsch.Channel:616,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Channel:616,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 599
    functionDepth: 5
    functionLinenumber: 599
    functionLinenumberEnd: 621
    functionName: '[com.jcraft.jsch.Channel].close()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Channel].getSession()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Buffer].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 625
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 625
    functionName: '[com.jcraft.jsch.Channel].isClosed()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Channel].isClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: com.jcraft.jsch.Channel:628,1
    - Dst: '[java.util.concurrent.locks.ReadWriteLock].readLock()'
      Src: com.jcraft.jsch.Channel:629,1
    - Dst: '[com.jcraft.jsch.Channel].lock()'
      Src: com.jcraft.jsch.Channel:630,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.Channel:634,1
    - Dst: '[com.jcraft.jsch.Channel].unlock()'
      Src: com.jcraft.jsch.Channel:638,1
    - Dst: c.disconnect()
      Src: com.jcraft.jsch.Channel:641,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 643
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 643
    functionName: '[com.jcraft.jsch.Channel].disconnect(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Channel].lock()'
    - '[java.util.concurrent.locks.ReadWriteLock].readLock()'
    - '[java.util.ArrayList].<init>()'
    - c.disconnect()
    - '[com.jcraft.jsch.Channel].unlock()'
    - '[java.util.ArrayList].add(com.jcraft.jsch.Channel)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].disconnect(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel].close()'
      Src: com.jcraft.jsch.Channel:658,1
    - Dst: '[com.jcraft.jsch.IO].close()'
      Src: com.jcraft.jsch.Channel:666,1
    - Dst: '[com.jcraft.jsch.Channel].del()'
      Src: com.jcraft.jsch.Channel:673,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 675
      start: 645
    functionDepth: 6
    functionLinenumber: 645
    functionLinenumberEnd: 675
    functionName: '[com.jcraft.jsch.Channel].disconnect()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 5
    functionsReached:
    - '[com.jcraft.jsch.IO].close()'
    - '[com.jcraft.jsch.Channel].close()'
    - '[com.jcraft.jsch.Channel].del()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].disconnect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _session.isConnected()
      Src: com.jcraft.jsch.Channel:680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 683
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 683
    functionName: '[com.jcraft.jsch.Channel].isConnected()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 4
    functionsReached:
    - _session.isConnected()
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Channel].isConnected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.RequestSignal].<init>()'
      Src: com.jcraft.jsch.Channel:686,1
    - Dst: '[com.jcraft.jsch.RequestSignal].setSignal(String)'
      Src: com.jcraft.jsch.Channel:687,1
    - Dst: '[com.jcraft.jsch.Channel].getSession()'
      Src: com.jcraft.jsch.Channel:688,1
    - Dst: '[com.jcraft.jsch.RequestSignal].request(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Channel:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - signal
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 689
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 689
    functionName: '[com.jcraft.jsch.Channel].sendSignal(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.RequestSignal].request(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Channel].getSession()'
    - '[com.jcraft.jsch.RequestSignal].<init>()'
    - '[com.jcraft.jsch.RequestSignal].setSignal(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].sendSignal(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 752
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 752
    functionName: '[com.jcraft.jsch.Channel].setExitStatus(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setExitStatus(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 756
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 756
    functionName: '[com.jcraft.jsch.Channel].getExitStatus()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Channel].getExitStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 760
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 760
    functionName: '[com.jcraft.jsch.Channel].setSession(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].setSession(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Channel:765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 768
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 768
    functionName: '[com.jcraft.jsch.Channel].getSession()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 8
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.Channel].getSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 772
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 772
    functionName: '[com.jcraft.jsch.Channel].getId()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Channel].getId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(int)'
      Src: com.jcraft.jsch.Channel:775,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Channel:776,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Channel:777,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Channel:778,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.Channel:779,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Channel:779,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Channel:780,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Channel:781,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Channel:782,1
    - Dst: '[com.jcraft.jsch.Channel].getSession()'
      Src: com.jcraft.jsch.Channel:783,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Channel:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 784
      start: 774
    functionDepth: 5
    functionLinenumber: 774
    functionLinenumberEnd: 784
    functionName: '[com.jcraft.jsch.Channel].sendOpenConfirmation()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Channel].getSession()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Buffer].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].sendOpenConfirmation()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(int)'
      Src: com.jcraft.jsch.Channel:788,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Channel:789,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Channel:790,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Channel:791,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.Channel:792,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Channel:792,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Channel:793,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Channel:794,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Channel:794,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Channel:795,1
    - Dst: '[com.jcraft.jsch.Channel].getSession()'
      Src: com.jcraft.jsch.Channel:796,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Channel:796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - reasoncode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 799
      start: 786
    functionDepth: 5
    functionLinenumber: 786
    functionLinenumberEnd: 799
    functionName: '[com.jcraft.jsch.Channel].sendOpenFailure(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Channel].getSession()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Buffer].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].sendOpenFailure(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(int)'
      Src: com.jcraft.jsch.Channel:802,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Channel:803,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Channel:809,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Channel:810,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Channel:811,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Channel:812,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Channel:813,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Channel:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Packet
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 816
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 816
    functionName: '[com.jcraft.jsch.Channel].genChannelOpenPacket()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Buffer].<init>(int)'
    linkageType: ''
    returnType: com.jcraft.jsch.Packet
    signature: '[com.jcraft.jsch.Channel].genChannelOpenPacket()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel].getSession()'
      Src: com.jcraft.jsch.Channel:819,1
    - Dst: '[com.jcraft.jsch.Session].isConnected()'
      Src: com.jcraft.jsch.Channel:820,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Channel:821,1
    - Dst: '[com.jcraft.jsch.Channel].genChannelOpenPacket()'
      Src: com.jcraft.jsch.Channel:824,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Channel:825,1
    - Dst: System.currentTimeMillis()
      Src: com.jcraft.jsch.Channel:828,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.Channel:833,1
    - Dst: '[com.jcraft.jsch.Session].isConnected()'
      Src: com.jcraft.jsch.Channel:833,1
    - Dst: System.currentTimeMillis()
      Src: com.jcraft.jsch.Channel:835,1
    - Dst: '[com.jcraft.jsch.Channel].wait(com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.Channel:843,1
    - Dst: '[com.jcraft.jsch.Session].isConnected()'
      Src: com.jcraft.jsch.Channel:851,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Channel:852,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.Channel:854,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Channel:855,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Channel:858,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.locks.ReadWriteLock
      - int
      - java.util.List<com.jcraft.jsch.Channel>
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - long
      - int
      - com.jcraft.jsch.IO
      - Thread
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - com.jcraft.jsch.Session
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 861
      start: 818
    functionDepth: 5
    functionLinenumber: 818
    functionLinenumberEnd: 861
    functionName: '[com.jcraft.jsch.Channel].sendChannelOpen()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Channel].genChannelOpenPacket()'
    - '[com.jcraft.jsch.Channel].getSession()'
    - System.currentTimeMillis()
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Session].isConnected()'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Channel].wait(com.jcraft.jsch.Channel)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel].sendChannelOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.PipedInputStream].<init>()'
      Src: com.jcraft.jsch.Channel.MyPipedInputStream:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Channel.MyPipedInputStream
      static: false
      superClass: PipedInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[java.io.PipedInputStream].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.Channel.MyPipedInputStream
    signature: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.PipedInputStream].<init>()'
      Src: com.jcraft.jsch.Channel.MyPipedInputStream:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Channel.MyPipedInputStream
      static: false
      superClass: PipedInputStream
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 1
    functionsReached:
    - '[java.io.PipedInputStream].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.Channel.MyPipedInputStream
    signature: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(int)'
      Src: com.jcraft.jsch.Channel.MyPipedInputStream:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Channel.MyPipedInputStream
      static: false
      superClass: PipedInputStream
    argCount: 2
    argNames:
    - size
    - max_buffer_size
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(int)'
    linkageType: ''
    returnType: com.jcraft.jsch.Channel.MyPipedInputStream
    signature: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.PipedInputStream].<init>(java.io.PipedOutputStream)'
      Src: com.jcraft.jsch.Channel.MyPipedInputStream:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.PipedOutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Channel.MyPipedInputStream
      static: false
      superClass: PipedInputStream
    argCount: 1
    argNames:
    - out
    argTypes:
    - java.io.PipedOutputStream
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(java.io.PipedOutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 1
    functionsReached:
    - '[java.io.PipedInputStream].<init>(java.io.PipedOutputStream)'
    linkageType: ''
    returnType: com.jcraft.jsch.Channel.MyPipedInputStream
    signature: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(java.io.PipedOutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.PipedInputStream].<init>(java.io.PipedOutputStream)'
      Src: com.jcraft.jsch.Channel.MyPipedInputStream:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.PipedOutputStream
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Channel.MyPipedInputStream
      static: false
      superClass: PipedInputStream
    argCount: 2
    argNames:
    - out
    - size
    argTypes:
    - java.io.PipedOutputStream
    - int
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(java.io.PipedOutputStream,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 1
    functionsReached:
    - '[java.io.PipedInputStream].<init>(java.io.PipedOutputStream)'
    linkageType: ''
    returnType: com.jcraft.jsch.Channel.MyPipedInputStream
    signature: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(java.io.PipedOutputStream,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].available()'
      Src: com.jcraft.jsch.Channel.MyPipedInputStream:426,1
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].read()'
      Src: com.jcraft.jsch.Channel.MyPipedInputStream:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: PipedInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 433
    functionName: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 25
    functionsReached:
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].available()'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].read()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: PipedInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 446
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 446
    functionName: '[com.jcraft.jsch.Channel.MyPipedInputStream].freeSpace()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Channel.MyPipedInputStream].freeSpace()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].freeSpace()'
      Src: com.jcraft.jsch.Channel.MyPipedInputStream:449,1
    - Dst: System.arraycopy(com.jcraft.jsch.Channel.MyPipedInputStream,int,com.jcraft.jsch.Channel.MyPipedInputStream,int,com.jcraft.jsch.Channel.MyPipedInputStream)
      Src: com.jcraft.jsch.Channel.MyPipedInputStream:465,1
    - Dst: System.arraycopy(com.jcraft.jsch.Channel.MyPipedInputStream,int,com.jcraft.jsch.Channel.MyPipedInputStream,int,com.jcraft.jsch.Channel.MyPipedInputStream)
      Src: com.jcraft.jsch.Channel.MyPipedInputStream:469,1
    - Dst: System.arraycopy(com.jcraft.jsch.Channel.MyPipedInputStream,com.jcraft.jsch.Channel.MyPipedInputStream,com.jcraft.jsch.Channel.MyPipedInputStream,com.jcraft.jsch.Channel.MyPipedInputStream)
      Src: com.jcraft.jsch.Channel.MyPipedInputStream:470,1
    - Dst: System.arraycopy(com.jcraft.jsch.Channel.MyPipedInputStream,int,com.jcraft.jsch.Channel.MyPipedInputStream,int,com.jcraft.jsch.Channel.MyPipedInputStream)
      Src: com.jcraft.jsch.Channel.MyPipedInputStream:475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: PipedInputStream
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 486
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 486
    functionName: '[com.jcraft.jsch.Channel.MyPipedInputStream].checkSpace(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 2
    functionsReached:
    - System.arraycopy(com.jcraft.jsch.Channel.MyPipedInputStream,com.jcraft.jsch.Channel.MyPipedInputStream,com.jcraft.jsch.Channel.MyPipedInputStream,com.jcraft.jsch.Channel.MyPipedInputStream)
    - System.arraycopy(com.jcraft.jsch.Channel.MyPipedInputStream,int,com.jcraft.jsch.Channel.MyPipedInputStream,int,com.jcraft.jsch.Channel.MyPipedInputStream)
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].freeSpace()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel.MyPipedInputStream].checkSpace(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(java.io.PipedOutputStream,int)'
      Src: com.jcraft.jsch.Channel.PassiveInputStream:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.PipedOutputStream
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - PipedOutputStream
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Channel.PassiveInputStream
      static: false
      superClass: MyPipedInputStream
    argCount: 2
    argNames:
    - out
    - size
    argTypes:
    - java.io.PipedOutputStream
    - int
    constantsTouched: []
    func_position:
      end: 707
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 707
    functionName: '[com.jcraft.jsch.Channel.PassiveInputStream].<init>(java.io.PipedOutputStream,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(java.io.PipedOutputStream,int)'
    linkageType: ''
    returnType: com.jcraft.jsch.Channel.PassiveInputStream
    signature: '[com.jcraft.jsch.Channel.PassiveInputStream].<init>(java.io.PipedOutputStream,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(java.io.PipedOutputStream)'
      Src: com.jcraft.jsch.Channel.PassiveInputStream:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.PipedOutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - PipedOutputStream
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Channel.PassiveInputStream
      static: false
      superClass: MyPipedInputStream
    argCount: 1
    argNames:
    - out
    argTypes:
    - java.io.PipedOutputStream
    constantsTouched: []
    func_position:
      end: 712
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionName: '[com.jcraft.jsch.Channel.PassiveInputStream].<init>(java.io.PipedOutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(java.io.PipedOutputStream)'
    linkageType: ''
    returnType: com.jcraft.jsch.Channel.PassiveInputStream
    signature: '[com.jcraft.jsch.Channel.PassiveInputStream].<init>(java.io.PipedOutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: this.os.close()
      Src: com.jcraft.jsch.Channel.PassiveInputStream:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PipedOutputStream
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: MyPipedInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 720
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 720
    functionName: '[com.jcraft.jsch.Channel.PassiveInputStream].close()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - this.os.close()
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel.PassiveInputStream].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.PipedOutputStream].<init>(java.io.PipedInputStream)'
      Src: com.jcraft.jsch.Channel.PassiveOutputStream:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.PipedInputStream
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - MyPipedInputStream
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Channel.PassiveOutputStream
      static: false
      superClass: PipedOutputStream
    argCount: 2
    argNames:
    - in
    - resizable_buffer
    argTypes:
    - java.io.PipedInputStream
    - boolean
    constantsTouched: []
    func_position:
      end: 731
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 731
    functionName: '[com.jcraft.jsch.Channel.PassiveOutputStream].<init>(java.io.PipedInputStream,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[java.io.PipedOutputStream].<init>(java.io.PipedInputStream)'
    linkageType: ''
    returnType: com.jcraft.jsch.Channel.PassiveOutputStream
    signature: '[com.jcraft.jsch.Channel.PassiveOutputStream].<init>(java.io.PipedInputStream,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].checkSpace(int)'
      Src: com.jcraft.jsch.Channel.PassiveOutputStream:736,1
    - Dst: '[PipedOutputStream].write(int)'
      Src: com.jcraft.jsch.Channel.PassiveOutputStream:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - MyPipedInputStream
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: PipedOutputStream
    argCount: 1
    argNames:
    - b
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 739
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 739
    functionName: '[com.jcraft.jsch.Channel.PassiveOutputStream].write(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].checkSpace(int)'
    - '[PipedOutputStream].write(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel.PassiveOutputStream].write(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].checkSpace(int)'
      Src: com.jcraft.jsch.Channel.PassiveOutputStream:744,1
    - Dst: '[PipedOutputStream].write(byte[],int,int)'
      Src: com.jcraft.jsch.Channel.PassiveOutputStream:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - MyPipedInputStream
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: PipedOutputStream
    argCount: 3
    argNames:
    - b
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: '[com.jcraft.jsch.Channel.PassiveOutputStream].write(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].checkSpace(int)'
    - '[PipedOutputStream].write(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Channel.PassiveOutputStream].write(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHXEC:62,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.DHXEC:62,1
    - Dst: '[com.jcraft.jsch.DHXEC].asSubclass()'
      Src: com.jcraft.jsch.DHXEC:62,1
    - Dst: '[com.jcraft.jsch.DHXEC].getDeclaredConstructor()'
      Src: com.jcraft.jsch.DHXEC:63,1
    - Dst: '[com.jcraft.jsch.DHXEC].newInstance()'
      Src: com.jcraft.jsch.DHXEC:63,1
    - Dst: '[com.jcraft.jsch.DHXEC].init()'
      Src: com.jcraft.jsch.DHXEC:64,1
    - Dst: '[byte[]].toString()'
      Src: com.jcraft.jsch.DHXEC:66,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHXEC,byte[])'
      Src: com.jcraft.jsch.DHXEC:66,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.DHXEC:69,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.DHXEC:70,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.DHXEC:72,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.DHXEC:73,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHXEC:76,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.DHXEC:76,1
    - Dst: '[com.jcraft.jsch.DHXEC].asSubclass()'
      Src: com.jcraft.jsch.DHXEC:76,1
    - Dst: '[com.jcraft.jsch.DHXEC].getDeclaredConstructor()'
      Src: com.jcraft.jsch.DHXEC:77,1
    - Dst: '[com.jcraft.jsch.DHXEC].newInstance()'
      Src: com.jcraft.jsch.DHXEC:77,1
    - Dst: '[com.jcraft.jsch.DHXEC].init(String,int)'
      Src: com.jcraft.jsch.DHXEC:78,1
    - Dst: '[com.jcraft.jsch.DHXEC].getQ()'
      Src: com.jcraft.jsch.DHXEC:80,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.DHXEC)'
      Src: com.jcraft.jsch.DHXEC:81,1
    - Dst: '[byte[]].toString()'
      Src: com.jcraft.jsch.DHXEC:83,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHXEC,byte[])'
      Src: com.jcraft.jsch.DHXEC:83,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.DHXEC:90,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHXEC:92,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.DHXEC)'
      Src: com.jcraft.jsch.DHXEC:92,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHXEC:93,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHXEC,String)'
      Src: com.jcraft.jsch.DHXEC:93,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHXEC:94,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHXEC,String)'
      Src: com.jcraft.jsch.DHXEC:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.jce.XDH
      - String
      - String
      - int
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 5
    argNames:
    - session
    - V_S
    - V_C
    - I_S
    - I_C
    argTypes:
    - com.jcraft.jsch.Session
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 98
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 98
    functionName: '[com.jcraft.jsch.DHXEC].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHXEC.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.DHXEC].init(String,int)'
    - '[com.jcraft.jsch.DHXEC].asSubclass()'
    - '[com.jcraft.jsch.DHXEC].init()'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.DHXEC)'
    - '[com.jcraft.jsch.DHXEC].newInstance()'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.DHXEC].getDeclaredConstructor()'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHXEC,byte[])'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.DHXEC].getQ()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHXEC,String)'
    - Class.forName(String)
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.DHXEC)'
    - '[byte[]].toString()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.DHXEC].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.DHXEC:110,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.DHXEC:111,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.DHXEC:112,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHXEC:114,1
    - Dst: '[com.jcraft.jsch.DHXEC].isEnabled(com.jcraft.jsch.DHXEC)'
      Src: com.jcraft.jsch.DHXEC:114,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHXEC:115,1
    - Dst: '[com.jcraft.jsch.DHXEC].log(com.jcraft.jsch.DHXEC,String)'
      Src: com.jcraft.jsch.DHXEC:115,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHXEC:120,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHXEC:122,1
    - Dst: '[com.jcraft.jsch.jce.XDH].validate(byte[])'
      Src: com.jcraft.jsch.DHXEC:130,1
    - Dst: '[com.jcraft.jsch.jce.XDH].getSecret(byte[])'
      Src: com.jcraft.jsch.DHXEC:134,1
    - Dst: '[com.jcraft.jsch.DHXEC].normalize(byte[])'
      Src: com.jcraft.jsch.DHXEC:134,1
    - Dst: '[com.jcraft.jsch.DHXEC].encodeAsMPInt(com.jcraft.jsch.DHXEC,boolean)'
      Src: com.jcraft.jsch.DHXEC:134,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHXEC:136,1
    - Dst: '[com.jcraft.jsch.DHXEC].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHXEC:165,1
    - Dst: sha.update(com.jcraft.jsch.DHXEC,int,com.jcraft.jsch.DHXEC)
      Src: com.jcraft.jsch.DHXEC:166,1
    - Dst: '[com.jcraft.jsch.DHXEC].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHXEC:167,1
    - Dst: sha.update(com.jcraft.jsch.DHXEC,int,com.jcraft.jsch.DHXEC)
      Src: com.jcraft.jsch.DHXEC:168,1
    - Dst: '[com.jcraft.jsch.DHXEC].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHXEC:169,1
    - Dst: sha.update(com.jcraft.jsch.DHXEC,int,com.jcraft.jsch.DHXEC)
      Src: com.jcraft.jsch.DHXEC:170,1
    - Dst: '[com.jcraft.jsch.DHXEC].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHXEC:171,1
    - Dst: sha.update(com.jcraft.jsch.DHXEC,int,com.jcraft.jsch.DHXEC)
      Src: com.jcraft.jsch.DHXEC:172,1
    - Dst: '[com.jcraft.jsch.DHXEC].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHXEC:173,1
    - Dst: sha.update(com.jcraft.jsch.DHXEC,int,com.jcraft.jsch.DHXEC)
      Src: com.jcraft.jsch.DHXEC:174,1
    - Dst: '[com.jcraft.jsch.DHXEC].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHXEC:175,1
    - Dst: sha.update(com.jcraft.jsch.DHXEC,int,com.jcraft.jsch.DHXEC)
      Src: com.jcraft.jsch.DHXEC:176,1
    - Dst: '[com.jcraft.jsch.DHXEC].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHXEC:177,1
    - Dst: sha.update(com.jcraft.jsch.DHXEC,int,com.jcraft.jsch.DHXEC)
      Src: com.jcraft.jsch.DHXEC:178,1
    - Dst: sha.update(com.jcraft.jsch.DHXEC,int,com.jcraft.jsch.DHXEC)
      Src: com.jcraft.jsch.DHXEC:180,1
    - Dst: sha.digest()
      Src: com.jcraft.jsch.DHXEC:181,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.DHXEC,com.jcraft.jsch.DHXEC)'
      Src: com.jcraft.jsch.DHXEC:187,1
    - Dst: '[com.jcraft.jsch.DHXEC].verify(String,byte[],com.jcraft.jsch.DHXEC,byte[])'
      Src: com.jcraft.jsch.DHXEC:190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 67
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.jce.XDH
      - String
      - String
      - int
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 196
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 196
    functionName: '[com.jcraft.jsch.DHXEC].next(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHXEC.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.XDH].validate(byte[])'
    - '[com.jcraft.jsch.jce.XDH].getSecret(byte[])'
    - '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.DHXEC,com.jcraft.jsch.DHXEC)'
    - sha.digest()
    - '[com.jcraft.jsch.DHXEC].encodeAsString(byte[],boolean)'
    - '[com.jcraft.jsch.DHXEC].isEnabled(com.jcraft.jsch.DHXEC)'
    - sha.update(com.jcraft.jsch.DHXEC,int,com.jcraft.jsch.DHXEC)
    - '[com.jcraft.jsch.DHXEC].encodeAsMPInt(com.jcraft.jsch.DHXEC,boolean)'
    - '[com.jcraft.jsch.DHXEC].verify(String,byte[],com.jcraft.jsch.DHXEC,byte[])'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.DHXEC].log(com.jcraft.jsch.DHXEC,String)'
    - '[com.jcraft.jsch.DHXEC].normalize(byte[])'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Buffer].getString()'
    - session.getLogger()
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.DHXEC].next(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.jce.XDH
      - String
      - String
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: '[com.jcraft.jsch.DHXEC].getState()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHXEC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.DHXEC].getState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.jce.XDH
      - String
      - String
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHXEC
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHXEC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHXEC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHXEC
    signature: '[com.jcraft.jsch.DHXEC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.JSchSessionDisconnectException:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSchSessionDisconnectException
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 4
    argNames:
    - s
    - reasonCode
    - description
    - languageTag
    argTypes:
    - String
    - int
    - String
    - String
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: '[com.jcraft.jsch.JSchSessionDisconnectException].<init>(String,int,String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchSessionDisconnectException.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchSessionDisconnectException
    signature: '[com.jcraft.jsch.JSchSessionDisconnectException].<init>(String,int,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.JSchSessionDisconnectException].getReasonCode()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchSessionDisconnectException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.JSchSessionDisconnectException].getReasonCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[com.jcraft.jsch.JSchSessionDisconnectException].getDescription()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchSessionDisconnectException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.JSchSessionDisconnectException].getDescription()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[com.jcraft.jsch.JSchSessionDisconnectException].getLanguageTag()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchSessionDisconnectException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.JSchSessionDisconnectException].getLanguageTag()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.KEM].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KEM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KEM].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.KEM].getPublicKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KEM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KEM].getPublicKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encapsulation
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.KEM].decapsulate(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KEM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KEM].decapsulate(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KEM
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KEM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KEM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KEM
    signature: '[com.jcraft.jsch.KEM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.LocalIdentityRepository:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Vector<com.jcraft.jsch.Identity>
      - JSch.InstanceLogger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.LocalIdentityRepository
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - instLogger
    argTypes:
    - JSch.InstanceLogger
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[com.jcraft.jsch.LocalIdentityRepository].<init>(JSch.InstanceLogger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/LocalIdentityRepository.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.LocalIdentityRepository
    signature: '[com.jcraft.jsch.LocalIdentityRepository].<init>(JSch.InstanceLogger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Vector<com.jcraft.jsch.Identity>
      - JSch.InstanceLogger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.LocalIdentityRepository].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/LocalIdentityRepository.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.LocalIdentityRepository].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Vector<com.jcraft.jsch.Identity>
      - JSch.InstanceLogger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[com.jcraft.jsch.LocalIdentityRepository].getStatus()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/LocalIdentityRepository.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.LocalIdentityRepository].getStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].removeDupulicates()'
      Src: com.jcraft.jsch.LocalIdentityRepository:53,1
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.LocalIdentityRepository:54,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.LocalIdentityRepository:55,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:56,1
    - Dst: '[java.util.Vector].addElement(com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Vector<com.jcraft.jsch.Identity>
      - JSch.InstanceLogger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Vector<com.jcraft.jsch.Identity>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: '[com.jcraft.jsch.LocalIdentityRepository].getIdentities()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/LocalIdentityRepository.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[java.util.Vector].addElement(com.jcraft.jsch.LocalIdentityRepository)'
    - '[com.jcraft.jsch.LocalIdentityRepository].removeDupulicates()'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.LocalIdentityRepository)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    linkageType: ''
    returnType: java.util.Vector<com.jcraft.jsch.Identity>
    signature: '[com.jcraft.jsch.LocalIdentityRepository].getIdentities()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].contains(com.jcraft.jsch.Identity)'
      Src: com.jcraft.jsch.LocalIdentityRepository:62,1
    - Dst: '[com.jcraft.jsch.Identity].getPublicKeyBlob()'
      Src: com.jcraft.jsch.LocalIdentityRepository:63,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].addElement(com.jcraft.jsch.Identity)'
      Src: com.jcraft.jsch.LocalIdentityRepository:65,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.LocalIdentityRepository:68,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:69,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].getPublicKeyBlob()'
      Src: com.jcraft.jsch.LocalIdentityRepository:69,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:70,1
    - Dst: '[com.jcraft.jsch.Identity].isEncrypted()'
      Src: com.jcraft.jsch.LocalIdentityRepository:71,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:71,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].isEncrypted()'
      Src: com.jcraft.jsch.LocalIdentityRepository:71,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].remove(com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:72,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].addElement(com.jcraft.jsch.Identity)'
      Src: com.jcraft.jsch.LocalIdentityRepository:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Identity
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Vector<com.jcraft.jsch.Identity>
      - JSch.InstanceLogger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identity
    argTypes:
    - com.jcraft.jsch.Identity
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.LocalIdentityRepository].add(com.jcraft.jsch.Identity)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/LocalIdentityRepository.java
    functionUses: 1
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.Identity>].contains(com.jcraft.jsch.Identity)'
    - '[com.jcraft.jsch.LocalIdentityRepository].getPublicKeyBlob()'
    - '[com.jcraft.jsch.Identity].isEncrypted()'
    - '[com.jcraft.jsch.LocalIdentityRepository].remove(com.jcraft.jsch.LocalIdentityRepository)'
    - '[com.jcraft.jsch.LocalIdentityRepository].isEncrypted()'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].addElement(com.jcraft.jsch.Identity)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.LocalIdentityRepository)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    - '[com.jcraft.jsch.Util].array_equals(byte[],com.jcraft.jsch.LocalIdentityRepository)'
    - '[com.jcraft.jsch.Identity].getPublicKeyBlob()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.LocalIdentityRepository].add(com.jcraft.jsch.Identity)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IdentityFile].newInstance(String,byte[],null,JSch.InstanceLogger)'
      Src: com.jcraft.jsch.LocalIdentityRepository:85,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].add(com.jcraft.jsch.IdentityFile)'
      Src: com.jcraft.jsch.LocalIdentityRepository:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Vector<com.jcraft.jsch.Identity>
      - JSch.InstanceLogger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identity
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: '[com.jcraft.jsch.LocalIdentityRepository].add(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/LocalIdentityRepository.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IdentityFile].newInstance(String,byte[],null,JSch.InstanceLogger)'
    - '[com.jcraft.jsch.LocalIdentityRepository].add(com.jcraft.jsch.IdentityFile)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.LocalIdentityRepository].add(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].contains(com.jcraft.jsch.Identity)'
      Src: com.jcraft.jsch.LocalIdentityRepository:94,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].removeElement(com.jcraft.jsch.Identity)'
      Src: com.jcraft.jsch.LocalIdentityRepository:95,1
    - Dst: '[com.jcraft.jsch.Identity].clear()'
      Src: com.jcraft.jsch.LocalIdentityRepository:96,1
    - Dst: '[com.jcraft.jsch.Identity].getPublicKeyBlob()'
      Src: com.jcraft.jsch.LocalIdentityRepository:98,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].remove(byte[])'
      Src: com.jcraft.jsch.LocalIdentityRepository:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Identity
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Vector<com.jcraft.jsch.Identity>
      - JSch.InstanceLogger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identity
    argTypes:
    - com.jcraft.jsch.Identity
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: '[com.jcraft.jsch.LocalIdentityRepository].remove(com.jcraft.jsch.Identity)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/LocalIdentityRepository.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.Identity>].removeElement(com.jcraft.jsch.Identity)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].contains(com.jcraft.jsch.Identity)'
    - '[com.jcraft.jsch.Identity].clear()'
    - '[com.jcraft.jsch.LocalIdentityRepository].remove(byte[])'
    - '[com.jcraft.jsch.Identity].getPublicKeyBlob()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.LocalIdentityRepository].remove(com.jcraft.jsch.Identity)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.LocalIdentityRepository:106,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:107,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].getPublicKeyBlob()'
      Src: com.jcraft.jsch.LocalIdentityRepository:108,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:109,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].removeElement(com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:111,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].clear()'
      Src: com.jcraft.jsch.LocalIdentityRepository:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Vector<com.jcraft.jsch.Identity>
      - JSch.InstanceLogger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - blob
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: '[com.jcraft.jsch.LocalIdentityRepository].remove(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/LocalIdentityRepository.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.LocalIdentityRepository].getPublicKeyBlob()'
    - '[com.jcraft.jsch.LocalIdentityRepository].clear()'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].removeElement(com.jcraft.jsch.LocalIdentityRepository)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.LocalIdentityRepository)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    - '[com.jcraft.jsch.Util].array_equals(byte[],com.jcraft.jsch.LocalIdentityRepository)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.LocalIdentityRepository].remove(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.LocalIdentityRepository:120,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:121,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].clear()'
      Src: com.jcraft.jsch.LocalIdentityRepository:122,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].removeAllElements()'
      Src: com.jcraft.jsch.LocalIdentityRepository:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Vector<com.jcraft.jsch.Identity>
      - JSch.InstanceLogger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: '[com.jcraft.jsch.LocalIdentityRepository].removeAll()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/LocalIdentityRepository.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.LocalIdentityRepository].clear()'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].removeAllElements()'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.LocalIdentityRepository)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.LocalIdentityRepository].removeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.LocalIdentityRepository:128,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.LocalIdentityRepository:129,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:133,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].getPublicKeyBlob()'
      Src: com.jcraft.jsch.LocalIdentityRepository:134,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:138,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].getPublicKeyBlob()'
      Src: com.jcraft.jsch.LocalIdentityRepository:139,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.LocalIdentityRepository,com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:142,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].isEncrypted()'
      Src: com.jcraft.jsch.LocalIdentityRepository:142,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].isEncrypted()'
      Src: com.jcraft.jsch.LocalIdentityRepository:142,1
    - Dst: '[java.util.Vector].addElement(com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:143,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.LocalIdentityRepository:148,1
    - Dst: '[java.util.Vector].elementAt(com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:149,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].remove(com.jcraft.jsch.LocalIdentityRepository)'
      Src: com.jcraft.jsch.LocalIdentityRepository:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Vector<com.jcraft.jsch.Identity>
      - JSch.InstanceLogger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 151
    functionName: '[com.jcraft.jsch.LocalIdentityRepository].removeDupulicates()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/LocalIdentityRepository.java
    functionUses: 1
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.LocalIdentityRepository].getPublicKeyBlob()'
    - '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.LocalIdentityRepository,com.jcraft.jsch.LocalIdentityRepository)'
    - '[java.util.Vector].size()'
    - '[java.util.Vector].elementAt(com.jcraft.jsch.LocalIdentityRepository)'
    - '[com.jcraft.jsch.LocalIdentityRepository].remove(com.jcraft.jsch.LocalIdentityRepository)'
    - '[com.jcraft.jsch.LocalIdentityRepository].isEncrypted()'
    - '[java.util.Vector].addElement(com.jcraft.jsch.LocalIdentityRepository)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.LocalIdentityRepository)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.LocalIdentityRepository].removeDupulicates()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(int)'
      Src: com.jcraft.jsch.SftpATTRS:68,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].isDir()'
      Src: com.jcraft.jsch.SftpATTRS:70,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:71,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].isLink()'
      Src: com.jcraft.jsch.SftpATTRS:72,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:73,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:75,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:78,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:80,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:83,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:85,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:88,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:90,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:92,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:95,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:97,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:100,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:102,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:105,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:107,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:109,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:112,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:114,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:117,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:119,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:122,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.SftpATTRS:124,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.SftpATTRS:125,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 126
    functionName: '[com.jcraft.jsch.SftpATTRS].getPermissionsString()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].<init>(int)'
    - '[com.jcraft.jsch.SftpATTRS].isLink()'
    - '[StringBuilder].append(char)'
    - '[com.jcraft.jsch.SftpATTRS].isDir()'
    - '[StringBuilder].toString()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.SftpATTRS].getPermissionsString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.toUnsignedLong(int)
      Src: com.jcraft.jsch.SftpATTRS:129,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].toDateString(com.jcraft.jsch.SftpATTRS)'
      Src: com.jcraft.jsch.SftpATTRS:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: '[com.jcraft.jsch.SftpATTRS].getAtimeString()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpATTRS].toDateString(com.jcraft.jsch.SftpATTRS)'
    - Integer.toUnsignedLong(int)
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.SftpATTRS].getAtimeString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.toUnsignedLong(int)
      Src: com.jcraft.jsch.SftpATTRS:133,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].toDateString(com.jcraft.jsch.SftpATTRS)'
      Src: com.jcraft.jsch.SftpATTRS:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: '[com.jcraft.jsch.SftpATTRS].getMtimeString()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.SftpATTRS].toDateString(com.jcraft.jsch.SftpATTRS)'
    - Integer.toUnsignedLong(int)
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.SftpATTRS].getMtimeString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.time.Instant].ofEpochSecond(long)'
      Src: com.jcraft.jsch.SftpATTRS:140,1
    - Dst: '[java.time.ZoneId].systemDefault()'
      Src: com.jcraft.jsch.SftpATTRS:141,1
    - Dst: '[java.time.ZonedDateTime].ofInstant(com.jcraft.jsch.SftpATTRS,com.jcraft.jsch.SftpATTRS)'
      Src: com.jcraft.jsch.SftpATTRS:141,1
    - Dst: '[java.time.format.DateTimeFormatter].format(com.jcraft.jsch.SftpATTRS)'
      Src: com.jcraft.jsch.SftpATTRS:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - epochSeconds
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: '[com.jcraft.jsch.SftpATTRS].toDateString(long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 0
    functionsReached:
    - '[java.time.Instant].ofEpochSecond(long)'
    - '[java.time.ZoneId].systemDefault()'
    - '[java.time.ZonedDateTime].ofInstant(com.jcraft.jsch.SftpATTRS,com.jcraft.jsch.SftpATTRS)'
    - '[java.time.format.DateTimeFormatter].format(com.jcraft.jsch.SftpATTRS)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.SftpATTRS].toDateString(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.time.format.DateTimeFormatter].ofPattern(String,com.jcraft.jsch.SftpATTRS)'
      Src: com.jcraft.jsch.SftpATTRS:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.SftpATTRS
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '[com.jcraft.jsch.SftpATTRS].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 1
    functionsReached:
    - '[java.time.format.DateTimeFormatter].ofPattern(String,com.jcraft.jsch.SftpATTRS)'
    linkageType: ''
    returnType: com.jcraft.jsch.SftpATTRS
    signature: '[com.jcraft.jsch.SftpATTRS].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpATTRS].<init>()'
      Src: com.jcraft.jsch.SftpATTRS:172,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.SftpATTRS:173,1
    - Dst: '[com.jcraft.jsch.Buffer].getLong()'
      Src: com.jcraft.jsch.SftpATTRS:175,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.SftpATTRS:178,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.SftpATTRS:179,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.SftpATTRS:182,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.SftpATTRS:185,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.SftpATTRS:188,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.SftpATTRS:191,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.SftpATTRS:195,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.SftpATTRS:195,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.SftpATTRS:196,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.SftpATTRS:196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.SftpATTRS
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 201
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 201
    functionName: '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 7
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.Buffer].getLong()'
    - '[com.jcraft.jsch.SftpATTRS].<init>()'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: com.jcraft.jsch.SftpATTRS
    signature: '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extended[i * 2].length()
      Src: com.jcraft.jsch.SftpATTRS:224,1
    - Dst: extended[i * 2 + 1].length()
      Src: com.jcraft.jsch.SftpATTRS:226,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 231
    functionName: '[com.jcraft.jsch.SftpATTRS].length()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 1
    functionsReached:
    - extended[i * 2 + 1].length()
    - extended[i * 2].length()
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.SftpATTRS].length()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.SftpATTRS:234,1
    - Dst: '[com.jcraft.jsch.Buffer].putLong(long)'
      Src: com.jcraft.jsch.SftpATTRS:236,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.SftpATTRS:239,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.SftpATTRS:240,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.SftpATTRS:243,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.SftpATTRS:246,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.SftpATTRS:249,1
    - Dst: '[com.jcraft.jsch.Util].str2byte()'
      Src: com.jcraft.jsch.SftpATTRS:255,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.SftpATTRS:255,1
    - Dst: '[com.jcraft.jsch.Util].str2byte()'
      Src: com.jcraft.jsch.SftpATTRS:256,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.SftpATTRS:256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 260
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 260
    functionName: '[com.jcraft.jsch.SftpATTRS].dump(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Buffer].putLong(long)'
    - '[com.jcraft.jsch.Util].str2byte()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SftpATTRS].dump(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: '[com.jcraft.jsch.SftpATTRS].setFLAGS(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SftpATTRS].setFLAGS(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: '[com.jcraft.jsch.SftpATTRS].setSIZE(long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SftpATTRS].setSIZE(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - uid
    - gid
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: '[com.jcraft.jsch.SftpATTRS].setUIDGID(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SftpATTRS].setUIDGID(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - atime
    - mtime
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: '[com.jcraft.jsch.SftpATTRS].setACMODTIME(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SftpATTRS].setACMODTIME(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - permissions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: '[com.jcraft.jsch.SftpATTRS].setPERMISSIONS(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SftpATTRS].setPERMISSIONS(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mask
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: '[com.jcraft.jsch.SftpATTRS].isType(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.SftpATTRS].isType(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpATTRS].isType(int)'
      Src: com.jcraft.jsch.SftpATTRS:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: '[com.jcraft.jsch.SftpATTRS].isReg()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpATTRS].isType(int)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.SftpATTRS].isReg()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpATTRS].isType(int)'
      Src: com.jcraft.jsch.SftpATTRS:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: '[com.jcraft.jsch.SftpATTRS].isDir()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 5
    functionsReached:
    - '[com.jcraft.jsch.SftpATTRS].isType(int)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.SftpATTRS].isDir()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpATTRS].isType(int)'
      Src: com.jcraft.jsch.SftpATTRS:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: '[com.jcraft.jsch.SftpATTRS].isChr()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpATTRS].isType(int)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.SftpATTRS].isChr()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpATTRS].isType(int)'
      Src: com.jcraft.jsch.SftpATTRS:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: '[com.jcraft.jsch.SftpATTRS].isBlk()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpATTRS].isType(int)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.SftpATTRS].isBlk()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpATTRS].isType(int)'
      Src: com.jcraft.jsch.SftpATTRS:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: '[com.jcraft.jsch.SftpATTRS].isFifo()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpATTRS].isType(int)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.SftpATTRS].isFifo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpATTRS].isType(int)'
      Src: com.jcraft.jsch.SftpATTRS:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: '[com.jcraft.jsch.SftpATTRS].isLink()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.SftpATTRS].isType(int)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.SftpATTRS].isLink()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpATTRS].isType(int)'
      Src: com.jcraft.jsch.SftpATTRS:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: '[com.jcraft.jsch.SftpATTRS].isSock()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpATTRS].isType(int)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.SftpATTRS].isSock()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: '[com.jcraft.jsch.SftpATTRS].getFlags()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.SftpATTRS].getFlags()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: '[com.jcraft.jsch.SftpATTRS].getSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpATTRS].getSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: '[com.jcraft.jsch.SftpATTRS].getUId()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.SftpATTRS].getUId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: '[com.jcraft.jsch.SftpATTRS].getGId()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.SftpATTRS].getGId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: '[com.jcraft.jsch.SftpATTRS].getPermissions()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.SftpATTRS].getPermissions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: '[com.jcraft.jsch.SftpATTRS].getATime()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.SftpATTRS].getATime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: '[com.jcraft.jsch.SftpATTRS].getMTime()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.SftpATTRS].getMTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: '[com.jcraft.jsch.SftpATTRS].getExtended()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.SftpATTRS].getExtended()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpATTRS].getPermissionsString()'
      Src: com.jcraft.jsch.SftpATTRS:355,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getUId()'
      Src: com.jcraft.jsch.SftpATTRS:355,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getGId()'
      Src: com.jcraft.jsch.SftpATTRS:355,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getSize()'
      Src: com.jcraft.jsch.SftpATTRS:355,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getMtimeString()'
      Src: com.jcraft.jsch.SftpATTRS:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.time.format.DateTimeFormatter
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: '[com.jcraft.jsch.SftpATTRS].toString()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.SftpATTRS].getGId()'
    - '[com.jcraft.jsch.SftpATTRS].getMtimeString()'
    - '[com.jcraft.jsch.SftpATTRS].getUId()'
    - '[com.jcraft.jsch.SftpATTRS].getSize()'
    - '[com.jcraft.jsch.SftpATTRS].getPermissionsString()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.SftpATTRS].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>()'
      Src: com.jcraft.jsch.JSchPartialAuthException:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JSchPartialAuthException
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.JSchPartialAuthException].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchPartialAuthException.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchPartialAuthException
    signature: '[com.jcraft.jsch.JSchPartialAuthException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.JSchPartialAuthException:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JSchPartialAuthException
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.JSchPartialAuthException].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchPartialAuthException.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchPartialAuthException
    signature: '[com.jcraft.jsch.JSchPartialAuthException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.JSchPartialAuthException].getMethods()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchPartialAuthException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.JSchPartialAuthException].getMethods()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.DHG15N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.DHG15384].sha_name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG15384.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.DHG15384].sha_name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHG15384
      static: false
      superClass: com.jcraft.jsch.DHG15N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHG15384].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG15384.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHG15384
    signature: '[com.jcraft.jsch.DHG15384].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.Socket
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.SocketFactory].createSocket(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SocketFactory.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: java.net.Socket
    signature: '[com.jcraft.jsch.SocketFactory].createSocket(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.Socket
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - socket
    argTypes:
    - java.net.Socket
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.SocketFactory].getInputStream(java.net.Socket)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SocketFactory.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[com.jcraft.jsch.SocketFactory].getInputStream(java.net.Socket)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.Socket
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.OutputStream
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - socket
    argTypes:
    - java.net.Socket
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.SocketFactory].getOutputStream(java.net.Socket)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SocketFactory.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: java.io.OutputStream
    signature: '[com.jcraft.jsch.SocketFactory].getOutputStream(java.net.Socket)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SocketFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.SocketFactory].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SocketFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.SocketFactory
    signature: '[com.jcraft.jsch.SocketFactory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.channels.SocketChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.USocketFactory].connect(java.nio.file.Path)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/USocketFactory.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.nio.channels.SocketChannel
    signature: '[com.jcraft.jsch.USocketFactory].connect(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.channels.ServerSocketChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.USocketFactory].bind(java.nio.file.Path)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/USocketFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.nio.channels.ServerSocketChannel
    signature: '[com.jcraft.jsch.USocketFactory].bind(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.USocketFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.USocketFactory].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/USocketFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.USocketFactory
    signature: '[com.jcraft.jsch.USocketFactory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.HASH].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HASH.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.HASH].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.HASH].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HASH.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.HASH].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.HASH].update(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HASH.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.HASH].update(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.HASH].digest()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HASH.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.HASH].digest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.HASH].name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HASH.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.HASH].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.HASH
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.HASH].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HASH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.HASH
    signature: '[com.jcraft.jsch.HASH].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.DHGEX512
      static: false
      superClass: com.jcraft.jsch.DHGEX
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.DHGEX512].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX512.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHGEX512
    signature: '[com.jcraft.jsch.DHGEX512].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchHostKeyException].<init>()'
      Src: com.jcraft.jsch.JSchUnknownHostKeyException:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSchUnknownHostKeyException
      static: false
      superClass: com.jcraft.jsch.JSchHostKeyException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.JSchUnknownHostKeyException].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchUnknownHostKeyException.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchHostKeyException].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchUnknownHostKeyException
    signature: '[com.jcraft.jsch.JSchUnknownHostKeyException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchHostKeyException].<init>(String)'
      Src: com.jcraft.jsch.JSchUnknownHostKeyException:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSchUnknownHostKeyException
      static: false
      superClass: com.jcraft.jsch.JSchHostKeyException
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.JSchUnknownHostKeyException].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchUnknownHostKeyException.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSchHostKeyException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchUnknownHostKeyException
    signature: '[com.jcraft.jsch.JSchUnknownHostKeyException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - foo
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[com.jcraft.jsch.ChannelSubsystem].setWantReply(boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSubsystem.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSubsystem].setWantReply(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - foo
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.ChannelSubsystem].setSubsystem(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSubsystem.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSubsystem].setSubsystem(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSubsystem].getSession()'
      Src: com.jcraft.jsch.ChannelSubsystem:47,1
    - Dst: '[com.jcraft.jsch.RequestX11].<init>()'
      Src: com.jcraft.jsch.ChannelSubsystem:51,1
    - Dst: '[com.jcraft.jsch.RequestX11].request(com.jcraft.jsch.ChannelSubsystem)'
      Src: com.jcraft.jsch.ChannelSubsystem:52,1
    - Dst: '[com.jcraft.jsch.RequestPtyReq].<init>()'
      Src: com.jcraft.jsch.ChannelSubsystem:55,1
    - Dst: '[com.jcraft.jsch.RequestPtyReq].request(com.jcraft.jsch.ChannelSubsystem)'
      Src: com.jcraft.jsch.ChannelSubsystem:56,1
    - Dst: '[com.jcraft.jsch.RequestSubsystem].<init>()'
      Src: com.jcraft.jsch.ChannelSubsystem:58,1
    - Dst: '[com.jcraft.jsch.RequestSubsystem].request(com.jcraft.jsch.ChannelSubsystem,String,boolean)'
      Src: com.jcraft.jsch.ChannelSubsystem:59,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.ChannelSubsystem)'
      Src: com.jcraft.jsch.ChannelSubsystem:64,1
    - Dst: '[com.jcraft.jsch.ChannelSubsystem].getThreadFactory()'
      Src: com.jcraft.jsch.ChannelSubsystem:67,1
    - Dst: '[com.jcraft.jsch.ChannelSubsystem].newThread()'
      Src: com.jcraft.jsch.ChannelSubsystem:67,1
    - Dst: '[com.jcraft.jsch.ChannelSubsystem].setName(String)'
      Src: com.jcraft.jsch.ChannelSubsystem:68,1
    - Dst: '[com.jcraft.jsch.ChannelSubsystem].setDaemon(com.jcraft.jsch.ChannelSubsystem)'
      Src: com.jcraft.jsch.ChannelSubsystem:70,1
    - Dst: '[com.jcraft.jsch.ChannelSubsystem].start()'
      Src: com.jcraft.jsch.ChannelSubsystem:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: '[com.jcraft.jsch.ChannelSubsystem].start()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSubsystem.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.RequestSubsystem].<init>()'
    - '[com.jcraft.jsch.ChannelSubsystem].start()'
    - '[com.jcraft.jsch.ChannelSubsystem].newThread()'
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.ChannelSubsystem)'
    - '[com.jcraft.jsch.ChannelSubsystem].getSession()'
    - '[com.jcraft.jsch.RequestPtyReq].request(com.jcraft.jsch.ChannelSubsystem)'
    - '[com.jcraft.jsch.RequestSubsystem].request(com.jcraft.jsch.ChannelSubsystem,String,boolean)'
    - '[com.jcraft.jsch.ChannelSubsystem].setDaemon(com.jcraft.jsch.ChannelSubsystem)'
    - '[com.jcraft.jsch.RequestX11].request(com.jcraft.jsch.ChannelSubsystem)'
    - '[com.jcraft.jsch.ChannelSubsystem].setName(String)'
    - '[com.jcraft.jsch.RequestPtyReq].<init>()'
    - '[com.jcraft.jsch.RequestX11].<init>()'
    - '[com.jcraft.jsch.ChannelSubsystem].getThreadFactory()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSubsystem].start()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSubsystem].getSession()'
      Src: com.jcraft.jsch.ChannelSubsystem:78,1
    - Dst: io.setInputStream(com.jcraft.jsch.ChannelSubsystem)
      Src: com.jcraft.jsch.ChannelSubsystem:78,1
    - Dst: '[com.jcraft.jsch.ChannelSubsystem].getSession()'
      Src: com.jcraft.jsch.ChannelSubsystem:79,1
    - Dst: io.setOutputStream(com.jcraft.jsch.ChannelSubsystem)
      Src: com.jcraft.jsch.ChannelSubsystem:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.ChannelSubsystem].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSubsystem.java
    functionUses: 0
    functionsReached:
    - io.setOutputStream(com.jcraft.jsch.ChannelSubsystem)
    - '[com.jcraft.jsch.ChannelSubsystem].getSession()'
    - io.setInputStream(com.jcraft.jsch.ChannelSubsystem)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSubsystem].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSubsystem].setExtOutputStream(java.io.OutputStream)'
      Src: com.jcraft.jsch.ChannelSubsystem:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - out
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: '[com.jcraft.jsch.ChannelSubsystem].setErrStream(java.io.OutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSubsystem.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSubsystem].setExtOutputStream(java.io.OutputStream)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSubsystem].setErrStream(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSubsystem].getExtInputStream()'
      Src: com.jcraft.jsch.ChannelSubsystem:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: '[com.jcraft.jsch.ChannelSubsystem].getErrStream()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSubsystem.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSubsystem].getExtInputStream()'
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[com.jcraft.jsch.ChannelSubsystem].getErrStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ChannelSubsystem
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ChannelSubsystem].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSubsystem.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelSubsystem
    signature: '[com.jcraft.jsch.ChannelSubsystem].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DH25519SNTRUP761
      static: false
      superClass: com.jcraft.jsch.DHXECKEM
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.DH25519SNTRUP761].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DH25519SNTRUP761.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DH25519SNTRUP761
    signature: '[com.jcraft.jsch.DH25519SNTRUP761].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.DHGEX224
      static: false
      superClass: com.jcraft.jsch.DHGEX
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.DHGEX224].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX224.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHGEX224
    signature: '[com.jcraft.jsch.DHGEX224].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - java.net.InetAddress
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.ServerSocket
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - port
    - backlog
    - bindAddr
    argTypes:
    - int
    - int
    - java.net.InetAddress
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.ServerSocketFactory].createServerSocket(int,int,java.net.InetAddress)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ServerSocketFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.ServerSocket
    signature: '[com.jcraft.jsch.ServerSocketFactory].createServerSocket(int,int,java.net.InetAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ServerSocketFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ServerSocketFactory].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ServerSocketFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ServerSocketFactory
    signature: '[com.jcraft.jsch.ServerSocketFactory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AgentProxyException].<init>(String)'
      Src: com.jcraft.jsch.UnixDomainSocketFactory:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.AgentProxyException
      interfaces:
      - com.jcraft.jsch.USocketFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.UnixDomainSocketFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UnixDomainSocketFactory.java
    functionUses: 7
    functionsReached:
    - '[com.jcraft.jsch.AgentProxyException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.UnixDomainSocketFactory
    signature: '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.UnixDomainSocketFactory:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.USocketFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.channels.SocketChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.UnixDomainSocketFactory].connect(java.nio.file.Path)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UnixDomainSocketFactory.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: java.nio.channels.SocketChannel
    signature: '[com.jcraft.jsch.UnixDomainSocketFactory].connect(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.UnixDomainSocketFactory:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.USocketFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.channels.ServerSocketChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.UnixDomainSocketFactory].bind(java.nio.file.Path)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UnixDomainSocketFactory.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: java.nio.channels.ServerSocketChannel
    signature: '[com.jcraft.jsch.UnixDomainSocketFactory].bind(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.MAC].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/MAC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.MAC].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.MAC].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/MAC.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.MAC].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.MAC].init(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/MAC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.MAC].init(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.MAC].update(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/MAC.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.MAC].update(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.MAC].update(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/MAC.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.MAC].update(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - offset
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.MAC].doFinal(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/MAC.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.MAC].doFinal(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.MAC].isEtM()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/MAC.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.MAC].isEtM()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.MAC
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.MAC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/MAC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.MAC
    signature: '[com.jcraft.jsch.MAC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.IdentityRepository].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepository.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.IdentityRepository].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.IdentityRepository].getStatus()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepository.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.IdentityRepository].getStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Vector<com.jcraft.jsch.Identity>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.IdentityRepository].getIdentities()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepository.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: java.util.Vector<com.jcraft.jsch.Identity>
    signature: '[com.jcraft.jsch.IdentityRepository].getIdentities()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identity
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '[com.jcraft.jsch.IdentityRepository].add(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepository.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.IdentityRepository].add(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - blob
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.IdentityRepository].remove(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepository.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.IdentityRepository].remove(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.IdentityRepository].removeAll()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepository.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IdentityRepository].removeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.IdentityRepository
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.IdentityRepository].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepository.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.IdentityRepository
    signature: '[com.jcraft.jsch.IdentityRepository].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: '[com.jcraft.jsch.UIKeyboardInteractive].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UIKeyboardInteractive.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.UIKeyboardInteractive].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.UIKeyboardInteractive
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.UIKeyboardInteractive].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UIKeyboardInteractive.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.UIKeyboardInteractive
    signature: '[com.jcraft.jsch.UIKeyboardInteractive].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - salt
    - cost
    - blocksize
    - parallel
    argTypes:
    - byte[]
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.SCrypt].init(byte[],int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SCrypt.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SCrypt].init(byte[],int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SCrypt
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.SCrypt].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SCrypt.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.SCrypt
    signature: '[com.jcraft.jsch.SCrypt].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.DHGEX1
      static: false
      superClass: com.jcraft.jsch.DHGEX
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.DHGEX1].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX1.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHGEX1
    signature: '[com.jcraft.jsch.DHGEX1].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - out
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream)'
      Src: com.jcraft.jsch.IO:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - out
    - dontclose
    argTypes:
    - java.io.OutputStream
    - boolean
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - out
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[com.jcraft.jsch.IO].setExtOutputStream(java.io.OutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IO].setExtOutputStream(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IO].setExtOutputStream(java.io.OutputStream)'
      Src: com.jcraft.jsch.IO:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - out
    - dontclose
    argTypes:
    - java.io.OutputStream
    - boolean
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[com.jcraft.jsch.IO].setExtOutputStream(java.io.OutputStream,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.IO].setExtOutputStream(java.io.OutputStream)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IO].setExtOutputStream(java.io.OutputStream,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - in
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream)'
      Src: com.jcraft.jsch.IO:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - in
    - dontclose
    argTypes:
    - java.io.InputStream
    - boolean
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.OutputStream].write(byte[],int,int)'
      Src: com.jcraft.jsch.IO:71,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: com.jcraft.jsch.IO:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Packet
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.SocketException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - p
    argTypes:
    - com.jcraft.jsch.Packet
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[com.jcraft.jsch.IO].put(com.jcraft.jsch.Packet)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 1
    functionsReached:
    - '[java.io.OutputStream].flush()'
    - '[java.io.OutputStream].write(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IO].put(com.jcraft.jsch.Packet)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.OutputStream].write(byte[],int,int)'
      Src: com.jcraft.jsch.IO:76,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: com.jcraft.jsch.IO:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - array
    - begin
    - length
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[com.jcraft.jsch.IO].put(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 1
    functionsReached:
    - '[java.io.OutputStream].flush()'
    - '[java.io.OutputStream].write(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IO].put(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.OutputStream].write(byte[],int,int)'
      Src: com.jcraft.jsch.IO:81,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: com.jcraft.jsch.IO:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - array
    - begin
    - length
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: '[com.jcraft.jsch.IO].put_ext(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 1
    functionsReached:
    - '[java.io.OutputStream].flush()'
    - '[java.io.OutputStream].write(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IO].put_ext(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].read()'
      Src: com.jcraft.jsch.IO:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: '[com.jcraft.jsch.IO].getByte()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 1
    functionsReached:
    - '[java.io.InputStream].read()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.IO].getByte()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IO].getByte(byte[],int,com.jcraft.jsch.IO)'
      Src: com.jcraft.jsch.IO:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - array
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: '[com.jcraft.jsch.IO].getByte(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IO].getByte(byte[],int,com.jcraft.jsch.IO)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IO].getByte(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].read(byte[],int,int)'
      Src: com.jcraft.jsch.IO:95,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.IO:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - array
    - begin
    - length
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: '[com.jcraft.jsch.IO].getByte(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 1
    functionsReached:
    - '[java.io.IOException].<init>(String)'
    - '[java.io.InputStream].read(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IO].getByte(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.OutputStream].close()'
      Src: com.jcraft.jsch.IO:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: '[com.jcraft.jsch.IO].out_close()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 2
    functionsReached:
    - '[java.io.OutputStream].close()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IO].out_close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].close()'
      Src: com.jcraft.jsch.IO:116,1
    - Dst: '[com.jcraft.jsch.IO].out_close()'
      Src: com.jcraft.jsch.IO:121,1
    - Dst: '[java.io.OutputStream].close()'
      Src: com.jcraft.jsch.IO:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: '[com.jcraft.jsch.IO].close()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 1
    functionsReached:
    - '[java.io.InputStream].close()'
    - '[java.io.OutputStream].close()'
    - '[com.jcraft.jsch.IO].out_close()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IO].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.InputStream
      - java.io.OutputStream
      - java.io.OutputStream
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.IO
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.IO].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.IO
    signature: '[com.jcraft.jsch.IO].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.KeyPairGenDSA].init(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairGenDSA].init(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.KeyPairGenDSA].getX()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenDSA].getX()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.KeyPairGenDSA].getY()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenDSA].getY()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.KeyPairGenDSA].getP()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenDSA].getP()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.KeyPairGenDSA].getQ()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenDSA].getQ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.KeyPairGenDSA].getG()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenDSA].getG()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyPairGenDSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KeyPairGenDSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairGenDSA
    signature: '[com.jcraft.jsch.KeyPairGenDSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 7
    functionName: '[com.jcraft.jsch.JavaVersion].getVersion()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JavaVersion.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.JavaVersion].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JavaVersion
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.JavaVersion].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JavaVersion.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.JavaVersion
    signature: '[com.jcraft.jsch.JavaVersion].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairEd448].<init>(JSch.InstanceLogger,null,null)'
      Src: com.jcraft.jsch.KeyPairEd448:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPairEd448
      static: false
      superClass: com.jcraft.jsch.KeyPairEdDSA
    argCount: 1
    argNames:
    - instLogger
    argTypes:
    - JSch.InstanceLogger
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.KeyPairEd448].<init>(JSch.InstanceLogger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd448.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairEd448].<init>(JSch.InstanceLogger,null,null)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairEd448
    signature: '[com.jcraft.jsch.KeyPairEd448].<init>(JSch.InstanceLogger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].<init>(JSch.InstanceLogger,byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairEd448:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPairEd448
      static: false
      superClass: com.jcraft.jsch.KeyPairEdDSA
    argCount: 3
    argNames:
    - instLogger
    - pub_array
    - prv_array
    argTypes:
    - JSch.InstanceLogger
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.KeyPairEd448].<init>(JSch.InstanceLogger,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd448.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairEdDSA].<init>(JSch.InstanceLogger,byte[],byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairEd448
    signature: '[com.jcraft.jsch.KeyPairEd448].<init>(JSch.InstanceLogger,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyPairEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.KeyPairEd448].getKeyType()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd448.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPairEd448].getKeyType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyPairEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[com.jcraft.jsch.KeyPairEd448].getKeySize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd448.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPairEd448].getKeySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.KeyPairEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.KeyPairEd448].getSshName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd448.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KeyPairEd448].getSshName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.KeyPairEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[com.jcraft.jsch.KeyPairEd448].getJceName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd448.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KeyPairEd448].getJceName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getBytes(int,String)'
      Src: com.jcraft.jsch.KeyPairEd448:65,1
    - Dst: '[java.util.Arrays].copyOf(int)'
      Src: com.jcraft.jsch.KeyPairEd448:68,1
    - Dst: '[com.jcraft.jsch.KeyPairEd448].<init>(JSch.InstanceLogger,com.jcraft.jsch.KeyPairEd448,com.jcraft.jsch.KeyPairEd448)'
      Src: com.jcraft.jsch.KeyPairEd448:69,1
    - Dst: '[com.jcraft.jsch.Util].byte2str()'
      Src: com.jcraft.jsch.KeyPairEd448:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: com.jcraft.jsch.KeyPairEdDSA
    argCount: 2
    argNames:
    - instLogger
    - buf
    argTypes:
    - JSch.InstanceLogger
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: '[com.jcraft.jsch.KeyPairEd448].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd448.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPairEd448].<init>(JSch.InstanceLogger,com.jcraft.jsch.KeyPairEd448,com.jcraft.jsch.KeyPairEd448)'
    - '[com.jcraft.jsch.Buffer].getBytes(int,String)'
    - '[com.jcraft.jsch.Util].byte2str()'
    - '[java.util.Arrays].copyOf(int)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPairEd448].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - y
    - p
    - q
    - g
    argTypes:
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.SignatureDSA].setPubKey(byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SignatureDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SignatureDSA].setPubKey(byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - x
    - p
    - q
    - g
    argTypes:
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.SignatureDSA].setPrvKey(byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SignatureDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SignatureDSA].setPrvKey(byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SignatureDSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.SignatureDSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SignatureDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.SignatureDSA
    signature: '[com.jcraft.jsch.SignatureDSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.DH].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.DH].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - p
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.DH].setP(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DH.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.DH].setP(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - g
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.DH].setG(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DH.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.DH].setG(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.DH].getE()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DH.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DH].getE()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - f
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.DH].setF(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DH.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.DH].setF(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.DH].getK()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DH.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DH].getK()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.DH].checkRange()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DH.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.DH].checkRange()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DH
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DH].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DH
    signature: '[com.jcraft.jsch.DH].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UserAuth].start(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:34,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthKeyboardInteractive)'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:49,1
    - Dst: packet.reset()
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:64,1
    - Dst: buf.putByte(byte)
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:65,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:66,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:67,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:67,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:69,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:69,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:70,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:71,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthKeyboardInteractive)'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:72,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.UserAuthKeyboardInteractive)'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:76,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:77,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:83,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:84,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:85,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:86,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:87,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:88,1
    - Dst: userinfo.showMessage(String)
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:90,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:95,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:96,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:97,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:98,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:99,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:104,1
    - Dst: '[com.jcraft.jsch.JSchPartialAuthException].<init>(String)'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:104,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:117,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:118,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:119,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:120,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:120,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:121,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:121,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:122,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:122,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:123,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:127,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:127,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:128,1
    - Dst: prompt[0].toLowerCase(com.jcraft.jsch.UserAuthKeyboardInteractive)
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:134,1
    - Dst: '[com.jcraft.jsch.UserAuthKeyboardInteractive].indexOf(String)'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:134,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:138,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:138,1
    - Dst: kbi.promptKeyboardInteractive(com.jcraft.jsch.UserAuthKeyboardInteractive,String,String,com.jcraft.jsch.UserAuthKeyboardInteractive,com.jcraft.jsch.UserAuthKeyboardInteractive)
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:142,1
    - Dst: '[com.jcraft.jsch.Util].str2byte()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:146,1
    - Dst: packet.reset()
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:157,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:158,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:164,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:166,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:169,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:175,1
    - Dst: '[com.jcraft.jsch.Buffer].putString()'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:177,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthKeyboardInteractive)'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:180,1
    - Dst: '[com.jcraft.jsch.JSchAuthCancelException].<init>(String)'
      Src: com.jcraft.jsch.UserAuthKeyboardInteractive:190,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 124
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.UserAuth
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 195
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 195
    functionName: '[com.jcraft.jsch.UserAuthKeyboardInteractive].start(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthKeyboardInteractive.java
    functionUses: 0
    functionsReached:
    - '[String].length()'
    - buf.putByte(byte)
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - kbi.promptKeyboardInteractive(com.jcraft.jsch.UserAuthKeyboardInteractive,String,String,com.jcraft.jsch.UserAuthKeyboardInteractive,com.jcraft.jsch.UserAuthKeyboardInteractive)
    - packet.reset()
    - '[com.jcraft.jsch.JSchAuthCancelException].<init>(String)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthKeyboardInteractive)'
    - buf.putString(byte[])
    - '[com.jcraft.jsch.UserAuth].start(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - prompt[0].toLowerCase(com.jcraft.jsch.UserAuthKeyboardInteractive)
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.UserAuthKeyboardInteractive].indexOf(String)'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Session].read(com.jcraft.jsch.UserAuthKeyboardInteractive)'
    - userinfo.showMessage(String)
    - '[com.jcraft.jsch.Util].str2byte()'
    - '[com.jcraft.jsch.JSchPartialAuthException].<init>(String)'
    - '[com.jcraft.jsch.Buffer].putString()'
    - '[com.jcraft.jsch.Buffer].getCommand()'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthKeyboardInteractive)'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.UserAuthKeyboardInteractive].start(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.UserAuthKeyboardInteractive
      static: false
      superClass: com.jcraft.jsch.UserAuth
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.UserAuthKeyboardInteractive].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthKeyboardInteractive.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.UserAuthKeyboardInteractive
    signature: '[com.jcraft.jsch.UserAuthKeyboardInteractive].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.IdentityRepository
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identityRepository
    argTypes:
    - com.jcraft.jsch.IdentityRepository
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.IdentityRepository)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.IdentityRepository)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.IdentityRepository
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: '[com.jcraft.jsch.JSch].getIdentityRepository()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.IdentityRepository
    signature: '[com.jcraft.jsch.JSch].getIdentityRepository()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ConfigRepository
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: '[com.jcraft.jsch.JSch].getConfigRepository()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ConfigRepository
    signature: '[com.jcraft.jsch.JSch].getConfigRepository()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.ConfigRepository
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - configRepository
    argTypes:
    - com.jcraft.jsch.ConfigRepository
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: '[com.jcraft.jsch.JSch].setConfigRepository(com.jcraft.jsch.ConfigRepository)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].setConfigRepository(com.jcraft.jsch.ConfigRepository)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Version].getVersion()'
      Src: com.jcraft.jsch.JSch:39,1
    - Dst: '[java.util.Hashtable].<init>()'
      Src: com.jcraft.jsch.JSch:41,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].<init>()'
      Src: com.jcraft.jsch.JSch:264,1
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.JSch:266,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].<init>(com.jcraft.jsch.JSch.InstanceLogger)'
      Src: com.jcraft.jsch.JSch:268,1
    - Dst: '[com.jcraft.jsch.Logger].<init>()'
      Src: com.jcraft.jsch.JSch:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JSch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: '[com.jcraft.jsch.JSch].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 71
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.Version].getVersion()'
    - '[java.util.Hashtable].<init>()'
    - '[com.jcraft.jsch.JSch.InstanceLogger].<init>()'
    - '[com.jcraft.jsch.LocalIdentityRepository].<init>(com.jcraft.jsch.JSch.InstanceLogger)'
    - '[com.jcraft.jsch.Logger].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSch
    signature: '[com.jcraft.jsch.JSch].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getSession(null,String,int)'
      Src: com.jcraft.jsch.JSch:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: '[com.jcraft.jsch.JSch].getSession(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSch].getSession(null,String,int)'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.JSch].getSession(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getSession(String,String,int)'
      Src: com.jcraft.jsch.JSch:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - username
    - host
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: '[com.jcraft.jsch.JSch].getSession(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].getSession(String,String,int)'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.JSch].getSession(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.JSch:364,1
    - Dst: '[com.jcraft.jsch.Session].<init>(String,String,int)'
      Src: com.jcraft.jsch.JSch:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - username
    - host
    - port
    argTypes:
    - String
    - String
    - int
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: '[com.jcraft.jsch.JSch].getSession(String,String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Session].<init>(String,String,int)'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.JSch].getSession(String,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector<com.jcraft.jsch.Session>].addElement(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.JSch:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: '[com.jcraft.jsch.JSch].addSession(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.Session>].addElement(com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].addSession(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector<com.jcraft.jsch.Session>].remove(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.JSch:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: '[com.jcraft.jsch.JSch].removeSession(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.Session>].remove(com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.JSch].removeSession(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.HostKeyRepository
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - hkrepo
    argTypes:
    - com.jcraft.jsch.HostKeyRepository
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: '[com.jcraft.jsch.JSch].setHostKeyRepository(com.jcraft.jsch.HostKeyRepository)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].setHostKeyRepository(com.jcraft.jsch.HostKeyRepository)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>()'
      Src: com.jcraft.jsch.JSch:402,1
    - Dst: '[com.jcraft.jsch.KnownHosts].setKnownHosts(String)'
      Src: com.jcraft.jsch.JSch:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filename
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 408
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 408
    functionName: '[com.jcraft.jsch.JSch].setKnownHosts(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].setKnownHosts(String)'
    - '[com.jcraft.jsch.KnownHosts].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].setKnownHosts(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>()'
      Src: com.jcraft.jsch.JSch:419,1
    - Dst: '[com.jcraft.jsch.KnownHosts].setKnownHosts(java.io.InputStream)'
      Src: com.jcraft.jsch.JSch:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - stream
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: '[com.jcraft.jsch.JSch].setKnownHosts(java.io.InputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].setKnownHosts(java.io.InputStream)'
    - '[com.jcraft.jsch.KnownHosts].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].setKnownHosts(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>()'
      Src: com.jcraft.jsch.JSch:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.HostKeyRepository
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 27
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKeyRepository
    signature: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,byte[])'
      Src: com.jcraft.jsch.JSch:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - prvkey
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: '[com.jcraft.jsch.JSch].addIdentity(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].addIdentity(String,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].addIdentity(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.JSch:464,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(String,byte[])'
      Src: com.jcraft.jsch.JSch:466,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.JSch:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - prvkey
    - passphrase
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: '[com.jcraft.jsch.JSch].addIdentity(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.JSch].addIdentity(String,byte[])'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].addIdentity(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IdentityFile].newInstance(String,null,InstanceLogger)'
      Src: com.jcraft.jsch.JSch:481,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.IdentityFile,byte[])'
      Src: com.jcraft.jsch.JSch:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - prvkey
    - passphrase
    argTypes:
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: '[com.jcraft.jsch.JSch].addIdentity(String,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.IdentityFile,byte[])'
    - '[com.jcraft.jsch.IdentityFile].newInstance(String,null,InstanceLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].addIdentity(String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IdentityFile].newInstance(String,String,InstanceLogger)'
      Src: com.jcraft.jsch.JSch:495,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.IdentityFile,byte[])'
      Src: com.jcraft.jsch.JSch:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - prvkey
    - pubkey
    - passphrase
    argTypes:
    - String
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: '[com.jcraft.jsch.JSch].addIdentity(String,String,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.IdentityFile,byte[])'
    - '[com.jcraft.jsch.IdentityFile].newInstance(String,String,InstanceLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].addIdentity(String,String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IdentityFile].newInstance(String,byte[],byte[],InstanceLogger)'
      Src: com.jcraft.jsch.JSch:510,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.IdentityFile,byte[])'
      Src: com.jcraft.jsch.JSch:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - name
    - prvkey
    - pubkey
    - passphrase
    argTypes:
    - String
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: '[com.jcraft.jsch.JSch].addIdentity(String,byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.IdentityFile,byte[])'
    - '[com.jcraft.jsch.IdentityFile].newInstance(String,byte[],byte[],InstanceLogger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].addIdentity(String,byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.JSch,int,com.jcraft.jsch.JSch)
      Src: com.jcraft.jsch.JSch:526,1
    - Dst: '[com.jcraft.jsch.Identity].setPassphrase(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.JSch:528,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.JSch:530,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].add(com.jcraft.jsch.Identity)'
      Src: com.jcraft.jsch.JSch:535,1
    - Dst: '[com.jcraft.jsch.Identity].isEncrypted()'
      Src: com.jcraft.jsch.JSch:536,1
    - Dst: '[com.jcraft.jsch.IdentityFile].getKeyPair()'
      Src: com.jcraft.jsch.JSch:537,1
    - Dst: '[com.jcraft.jsch.KeyPair].forSSHAgent()'
      Src: com.jcraft.jsch.JSch:537,1
    - Dst: '[com.jcraft.jsch.IdentityRepository].add(byte[])'
      Src: com.jcraft.jsch.JSch:537,1
    - Dst: '[com.jcraft.jsch.IdentityRepositoryWrapper].<init>(com.jcraft.jsch.IdentityRepository)'
      Src: com.jcraft.jsch.JSch:541,1
    - Dst: '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.IdentityRepositoryWrapper)'
      Src: com.jcraft.jsch.JSch:541,1
    - Dst: '[com.jcraft.jsch.IdentityRepositoryWrapper].add(com.jcraft.jsch.Identity)'
      Src: com.jcraft.jsch.JSch:544,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Identity
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - identity
    - passphrase
    argTypes:
    - com.jcraft.jsch.Identity
    - byte[]
    constantsTouched: []
    func_position:
      end: 546
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 546
    functionName: '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.Identity,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Identity].isEncrypted()'
    - '[com.jcraft.jsch.IdentityRepository].add(byte[])'
    - '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.IdentityRepositoryWrapper)'
    - '[com.jcraft.jsch.IdentityRepositoryWrapper].add(com.jcraft.jsch.Identity)'
    - '[com.jcraft.jsch.LocalIdentityRepository].add(com.jcraft.jsch.Identity)'
    - '[com.jcraft.jsch.Identity].setPassphrase(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.IdentityRepositoryWrapper].<init>(com.jcraft.jsch.IdentityRepository)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.JSch,int,com.jcraft.jsch.JSch)
    - '[com.jcraft.jsch.IdentityFile].getKeyPair()'
    - '[com.jcraft.jsch.KeyPair].forSSHAgent()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.Identity,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.JSch:553,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.JSch:554,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.JSch:555,1
    - Dst: '[com.jcraft.jsch.JSch].getName()'
      Src: com.jcraft.jsch.JSch:556,1
    - Dst: '[com.jcraft.jsch.JSch].equals(String)'
      Src: com.jcraft.jsch.JSch:556,1
    - Dst: '[com.jcraft.jsch.LocalIdentityRepository].remove(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.JSch:559,1
    - Dst: '[com.jcraft.jsch.JSch].getPublicKeyBlob()'
      Src: com.jcraft.jsch.JSch:561,1
    - Dst: '[com.jcraft.jsch.IdentityRepository].remove(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.JSch:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 563
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 563
    functionName: '[com.jcraft.jsch.JSch].removeIdentity(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].equals(String)'
    - '[com.jcraft.jsch.JSch].getPublicKeyBlob()'
    - '[com.jcraft.jsch.JSch].getName()'
    - '[com.jcraft.jsch.IdentityRepository].remove(com.jcraft.jsch.JSch)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.JSch)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    - '[com.jcraft.jsch.LocalIdentityRepository].remove(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.IdentityRepository].getIdentities()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].removeIdentity(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Identity].getPublicKeyBlob()'
      Src: com.jcraft.jsch.JSch:572,1
    - Dst: '[com.jcraft.jsch.IdentityRepository].remove(byte[])'
      Src: com.jcraft.jsch.JSch:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Identity
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identity
    argTypes:
    - com.jcraft.jsch.Identity
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: '[com.jcraft.jsch.JSch].removeIdentity(com.jcraft.jsch.Identity)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IdentityRepository].remove(byte[])'
    - '[com.jcraft.jsch.Identity].getPublicKeyBlob()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].removeIdentity(com.jcraft.jsch.Identity)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.JSch:582,1
    - Dst: '[com.jcraft.jsch.IdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.JSch:583,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.JSch:584,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.JSch:585,1
    - Dst: '[com.jcraft.jsch.JSch].getName()'
      Src: com.jcraft.jsch.JSch:586,1
    - Dst: '[java.util.Vector].addElement(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.JSch:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Vector<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 589
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 589
    functionName: '[com.jcraft.jsch.JSch].getIdentityNames()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[java.util.Vector].addElement(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.JSch].getName()'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].elementAt(com.jcraft.jsch.JSch)'
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    - '[com.jcraft.jsch.IdentityRepository].getIdentities()'
    linkageType: ''
    returnType: java.util.Vector<String>
    signature: '[com.jcraft.jsch.JSch].getIdentityNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.IdentityRepository].removeAll()'
      Src: com.jcraft.jsch.JSch:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 598
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 598
    functionName: '[com.jcraft.jsch.JSch].removeAllIdentity()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.IdentityRepository].removeAll()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].removeAllIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.JSch:608,1
    - Dst: '[java.util.Hashtable<String,String>].get(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.JSch:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: '[com.jcraft.jsch.JSch].getConfig(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 30
    functionsReached:
    - '[String].equals(String)'
    - '[java.util.Hashtable<String,String>].get(com.jcraft.jsch.JSch)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.JSch].getConfig(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Hashtable<String,String>].keys()'
      Src: com.jcraft.jsch.JSch:622,1
    - Dst: '[com.jcraft.jsch.JSch].hasMoreElements()'
      Src: com.jcraft.jsch.JSch:622,1
    - Dst: '[com.jcraft.jsch.JSch].nextElement()'
      Src: com.jcraft.jsch.JSch:623,1
    - Dst: '[com.jcraft.jsch.JSch].equals(String)'
      Src: com.jcraft.jsch.JSch:625,1
    - Dst: '[java.util.Hashtable<String,String>].get(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.JSch:626,1
    - Dst: '[java.util.Hashtable<String,String>].put(com.jcraft.jsch.JSch,com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.JSch:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Hashtable<String,String>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - newconf
    argTypes:
    - java.util.Hashtable<String,String>
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: '[com.jcraft.jsch.JSch].setConfig(java.util.Hashtable<String,String>)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 1
    functionsReached:
    - '[java.util.Hashtable<String,String>].put(com.jcraft.jsch.JSch,com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.JSch].equals(String)'
    - '[java.util.Hashtable<String,String>].get(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.JSch].nextElement()'
    - '[java.util.Hashtable<String,String>].keys()'
    - '[com.jcraft.jsch.JSch].hasMoreElements()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].setConfig(java.util.Hashtable<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.JSch:638,1
    - Dst: '[java.util.Hashtable<String,String>].put(String,String)'
      Src: com.jcraft.jsch.JSch:639,1
    - Dst: '[java.util.Hashtable<String,String>].put(String,String)'
      Src: com.jcraft.jsch.JSch:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 643
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 643
    functionName: '[com.jcraft.jsch.JSch].setConfig(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 10
    functionsReached:
    - '[String].equals(String)'
    - '[java.util.Hashtable<String,String>].put(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].setConfig(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: com.jcraft.jsch.JSch:649,1
    - Dst: '[java.util.Hashtable<String,String>].entrySet()'
      Src: com.jcraft.jsch.JSch:651,1
    - Dst: entry.getKey()
      Src: com.jcraft.jsch.JSch:652,1
    - Dst: '[com.jcraft.jsch.JSch].equals(String)'
      Src: com.jcraft.jsch.JSch:653,1
    - Dst: entry.getValue()
      Src: com.jcraft.jsch.JSch:656,1
    - Dst: '[java.util.HashMap].put(com.jcraft.jsch.JSch,com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.JSch:656,1
    - Dst: '[java.util.Collections].unmodifiableMap(java.util.HashMap)'
      Src: com.jcraft.jsch.JSch:659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,String>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 660
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 660
    functionName: '[com.jcraft.jsch.JSch].getConfig()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 2
    functionsReached:
    - entry.getKey()
    - entry.getValue()
    - '[com.jcraft.jsch.JSch].equals(String)'
    - '[java.util.Hashtable<String,String>].entrySet()'
    - '[java.util.Collections].unmodifiableMap(java.util.HashMap)'
    - '[java.util.HashMap].put(com.jcraft.jsch.JSch,com.jcraft.jsch.JSch)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[com.jcraft.jsch.JSch].getConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Logger
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - logger
    argTypes:
    - com.jcraft.jsch.Logger
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Logger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Logger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.JSch:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Logger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 682
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 682
    functionName: '[com.jcraft.jsch.JSch].getInstanceLogger()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 7
    functionsReached:
    - '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
    linkageType: ''
    returnType: com.jcraft.jsch.Logger
    signature: '[com.jcraft.jsch.JSch].getInstanceLogger()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].setLogger(com.jcraft.jsch.Logger)'
      Src: com.jcraft.jsch.JSch:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Logger
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - logger
    argTypes:
    - com.jcraft.jsch.Logger
    constantsTouched: []
    func_position:
      end: 692
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 692
    functionName: '[com.jcraft.jsch.JSch].setInstanceLogger(com.jcraft.jsch.Logger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch.InstanceLogger].setLogger(com.jcraft.jsch.Logger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch].setInstanceLogger(com.jcraft.jsch.Logger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Hashtable<String,String>
      - InstanceLogger
      - java.util.Vector<com.jcraft.jsch.Session>
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.ConfigRepository
      - com.jcraft.jsch.HostKeyRepository
      - com.jcraft.jsch.Logger
      - com.jcraft.jsch.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Logger
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 702
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 702
    functionName: '[com.jcraft.jsch.JSch].getLogger()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Logger
    signature: '[com.jcraft.jsch.JSch].getLogger()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSch.InstanceLogger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 707
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 707
    functionName: '[com.jcraft.jsch.JSch.InstanceLogger].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.JSch.InstanceLogger
    signature: '[com.jcraft.jsch.JSch.InstanceLogger].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Logger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 714
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 714
    functionName: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Logger
    signature: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Logger
      classConcrete: true
      classEnum: false
      classFields:
      - Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - logger
    argTypes:
    - com.jcraft.jsch.Logger
    constantsTouched: []
    func_position:
      end: 718
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 718
    functionName: '[com.jcraft.jsch.JSch.InstanceLogger].setLogger(com.jcraft.jsch.Logger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JSch.InstanceLogger].setLogger(com.jcraft.jsch.Logger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.RequestSubsystem].setReply(boolean)'
      Src: com.jcraft.jsch.RequestSubsystem:34,1
    - Dst: '[com.jcraft.jsch.RequestSubsystem].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.RequestSubsystem:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 4
    argNames:
    - session
    - channel
    - subsystem
    - want_reply
    argTypes:
    - com.jcraft.jsch.Session
    - com.jcraft.jsch.Channel
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.RequestSubsystem].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel,String,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestSubsystem.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.RequestSubsystem].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.RequestSubsystem].setReply(boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestSubsystem].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.RequestSubsystem:41,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.RequestSubsystem:43,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.RequestSubsystem:44,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.RequestSubsystem:46,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestSubsystem:47,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.RequestSubsystem:48,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestSubsystem:48,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestSubsystem:49,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestSubsystem:49,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestSubsystem:50,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestSubsystem:51,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestSubsystem:51,1
    - Dst: '[com.jcraft.jsch.RequestSubsystem].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.RequestSubsystem:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 2
    argNames:
    - session
    - channel
    argTypes:
    - com.jcraft.jsch.Session
    - com.jcraft.jsch.Channel
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.RequestSubsystem].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestSubsystem.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.RequestSubsystem].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestSubsystem].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.RequestSubsystem
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.RequestSubsystem].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestSubsystem.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.RequestSubsystem
    signature: '[com.jcraft.jsch.RequestSubsystem].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel].<init>()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:66,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:72,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:73,1
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:74,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.ChannelAgentForwarding
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: '[com.jcraft.jsch.ChannelAgentForwarding].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelAgentForwarding.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Channel].<init>()'
    - '[com.jcraft.jsch.Buffer].reset()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Buffer].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelAgentForwarding
    signature: '[com.jcraft.jsch.ChannelAgentForwarding].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].sendOpenConfirmation()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:84,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].disconnect()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: '[com.jcraft.jsch.ChannelAgentForwarding].run()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelAgentForwarding.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelAgentForwarding].disconnect()'
    - '[com.jcraft.jsch.ChannelAgentForwarding].sendOpenConfirmation()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelAgentForwarding].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:95,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:96,1
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:99,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.ChannelAgentForwarding,int,com.jcraft.jsch.ChannelAgentForwarding)
      Src: com.jcraft.jsch.ChannelAgentForwarding:102,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[],int,int)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:106,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:108,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:109,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:114,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].getSession()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:118,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelAgentForwarding:120,1
    - Dst: '[java.io.IOException].<init>(com.jcraft.jsch.ChannelAgentForwarding,com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:120,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].getIdentityRepository()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:123,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].getUserInfo()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:124,1
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:126,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:129,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].getIdentities()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:130,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].size()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:133,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].elementAt(com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:134,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].getPublicKeyBlob()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:135,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:138,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].size()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:139,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].elementAt(com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:140,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].getPublicKeyBlob()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:141,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:144,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelAgentForwarding:145,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:149,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:150,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:152,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:153,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:154,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].getIdentities()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:160,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].size()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:163,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].elementAt(com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:164,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].getPublicKeyBlob()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:165,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].getPublicKeyBlob()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:167,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:167,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].isEncrypted()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:170,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].isEncrypted()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:173,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].getName()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:174,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].promptPassphrase(String)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:174,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].getPassphrase()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:178,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:183,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].setPassphrase(byte[])'
      Src: com.jcraft.jsch.ChannelAgentForwarding:185,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].isEncrypted()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:194,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.ChannelAgentForwarding:204,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:205,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.ChannelAgentForwarding:205,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:206,1
    - Dst: identity.getSignature(byte[],String)
      Src: com.jcraft.jsch.ChannelAgentForwarding:208,1
    - Dst: identity.getSignature(byte[],String)
      Src: com.jcraft.jsch.ChannelAgentForwarding:210,1
    - Dst: identity.getSignature(byte[],String)
      Src: com.jcraft.jsch.ChannelAgentForwarding:212,1
    - Dst: identity.getSignature(byte[])
      Src: com.jcraft.jsch.ChannelAgentForwarding:215,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:220,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:222,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:223,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:226,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].remove(byte[])'
      Src: com.jcraft.jsch.ChannelAgentForwarding:227,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:228,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:230,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].removeAll()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:232,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:233,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:235,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:237,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].add(com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:238,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:239,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:241,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(int)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:241,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:242,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:245,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:246,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].send(com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:247,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 120
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 3
    argNames:
    - foo
    - s
    - l
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 248
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 248
    functionName: '[com.jcraft.jsch.ChannelAgentForwarding].write(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelAgentForwarding.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelAgentForwarding)'
    - identity.getSignature(byte[])
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.ChannelAgentForwarding].isEncrypted()'
    - '[com.jcraft.jsch.ChannelAgentForwarding].getName()'
    - '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelAgentForwarding)'
    - '[com.jcraft.jsch.Buffer].putByte(byte[],int,int)'
    - '[com.jcraft.jsch.ChannelAgentForwarding].remove(byte[])'
    - '[com.jcraft.jsch.ChannelAgentForwarding].getPassphrase()'
    - '[com.jcraft.jsch.ChannelAgentForwarding].getSession()'
    - '[com.jcraft.jsch.Buffer].putByte()'
    - '[com.jcraft.jsch.ChannelAgentForwarding].removeAll()'
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.ChannelAgentForwarding)'
    - '[com.jcraft.jsch.ChannelAgentForwarding].getPublicKeyBlob()'
    - System.arraycopy(byte[],int,com.jcraft.jsch.ChannelAgentForwarding,int,com.jcraft.jsch.ChannelAgentForwarding)
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[com.jcraft.jsch.Buffer].skip(int)'
    - e.toString()
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.ChannelAgentForwarding].getUserInfo()'
    - '[com.jcraft.jsch.Buffer].reset()'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.ChannelAgentForwarding].promptPassphrase(String)'
    - '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.ChannelAgentForwarding)'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.ChannelAgentForwarding].getIdentityRepository()'
    - '[com.jcraft.jsch.Buffer].getLength()'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.ChannelAgentForwarding].setPassphrase(byte[])'
    - '[com.jcraft.jsch.ChannelAgentForwarding].size()'
    - '[java.io.IOException].<init>(com.jcraft.jsch.ChannelAgentForwarding,com.jcraft.jsch.ChannelAgentForwarding)'
    - '[com.jcraft.jsch.ChannelAgentForwarding].elementAt(com.jcraft.jsch.ChannelAgentForwarding)'
    - '[com.jcraft.jsch.Util].array_equals(byte[],com.jcraft.jsch.ChannelAgentForwarding)'
    - identity.getSignature(byte[],String)
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelAgentForwarding)'
    - '[com.jcraft.jsch.ChannelAgentForwarding].getIdentities()'
    - '[com.jcraft.jsch.ChannelAgentForwarding].add(com.jcraft.jsch.ChannelAgentForwarding)'
    - '[com.jcraft.jsch.ChannelAgentForwarding].send(com.jcraft.jsch.ChannelAgentForwarding)'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelAgentForwarding].write(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:251,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:252,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelAgentForwarding)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:253,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:254,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelAgentForwarding:255,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].getSession()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:258,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].write(com.jcraft.jsch.Packet,int)'
      Src: com.jcraft.jsch.ChannelAgentForwarding:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - message
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: '[com.jcraft.jsch.ChannelAgentForwarding].send(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelAgentForwarding.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelAgentForwarding)'
    - '[com.jcraft.jsch.ChannelAgentForwarding].getSession()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.ChannelAgentForwarding].write(com.jcraft.jsch.Packet,int)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelAgentForwarding].send(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel].eof_remote()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:265,1
    - Dst: '[com.jcraft.jsch.ChannelAgentForwarding].eof()'
      Src: com.jcraft.jsch.ChannelAgentForwarding:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: '[com.jcraft.jsch.ChannelAgentForwarding].eof_remote()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelAgentForwarding.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Channel].eof_remote()'
    - '[com.jcraft.jsch.ChannelAgentForwarding].eof()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelAgentForwarding].eof_remote()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>()'
      Src: com.jcraft.jsch.KnownHosts:48,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHMACSHA1()'
      Src: com.jcraft.jsch.KnownHosts:50,1
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.KnownHosts:51,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KnownHosts:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KnownHosts
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - jsch
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 15
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[Object].<init>()'
    - '[com.jcraft.jsch.KnownHosts].getHMACSHA1()'
    linkageType: ''
    returnType: com.jcraft.jsch.KnownHosts
    signature: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].checkTilde(String)'
      Src: com.jcraft.jsch.KnownHosts:57,1
    - Dst: '[java.io.FileInputStream].<init>(String)'
      Src: com.jcraft.jsch.KnownHosts:57,1
    - Dst: '[com.jcraft.jsch.KnownHosts].setKnownHosts(java.io.FileInputStream)'
      Src: com.jcraft.jsch.KnownHosts:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filename
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: '[com.jcraft.jsch.KnownHosts].setKnownHosts(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 2
    functionsReached:
    - '[java.io.FileInputStream].<init>(String)'
    - '[com.jcraft.jsch.Util].checkTilde(String)'
    - '[com.jcraft.jsch.KnownHosts].setKnownHosts(java.io.FileInputStream)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHosts].setKnownHosts(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].removeAllElements()'
      Src: com.jcraft.jsch.KnownHosts:65,1
    - Dst: '[StringBuilder].<init>()'
      Src: com.jcraft.jsch.KnownHosts:66,1
    - Dst: fis.read()
      Src: com.jcraft.jsch.KnownHosts:79,1
    - Dst: System.arraycopy(com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts)
      Src: com.jcraft.jsch.KnownHosts:96,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:110,1
    - Dst: '[com.jcraft.jsch.KnownHosts].addInvalidLine(String)'
      Src: com.jcraft.jsch.KnownHosts:110,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:116,1
    - Dst: '[com.jcraft.jsch.KnownHosts].addInvalidLine(String)'
      Src: com.jcraft.jsch.KnownHosts:116,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: com.jcraft.jsch.KnownHosts:120,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.KnownHosts:126,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.KnownHosts:128,1
    - Dst: '[com.jcraft.jsch.KnownHosts].length()'
      Src: com.jcraft.jsch.KnownHosts:129,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:130,1
    - Dst: '[com.jcraft.jsch.KnownHosts].addInvalidLine(String)'
      Src: com.jcraft.jsch.KnownHosts:130,1
    - Dst: '[com.jcraft.jsch.KnownHosts].charAt(int)'
      Src: com.jcraft.jsch.KnownHosts:144,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: com.jcraft.jsch.KnownHosts:147,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.KnownHosts:153,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.KnownHosts:155,1
    - Dst: '[com.jcraft.jsch.KnownHosts].length()'
      Src: com.jcraft.jsch.KnownHosts:156,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:157,1
    - Dst: '[com.jcraft.jsch.KnownHosts].addInvalidLine(String)'
      Src: com.jcraft.jsch.KnownHosts:157,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: com.jcraft.jsch.KnownHosts:171,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.KnownHosts:178,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.KnownHosts:180,1
    - Dst: '[com.jcraft.jsch.HostKey].name2type(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:181,1
    - Dst: '[com.jcraft.jsch.HostKey].name2type(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:182,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:187,1
    - Dst: '[com.jcraft.jsch.KnownHosts].addInvalidLine(String)'
      Src: com.jcraft.jsch.KnownHosts:187,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: com.jcraft.jsch.KnownHosts:200,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.KnownHosts:212,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.KnownHosts:214,1
    - Dst: '[com.jcraft.jsch.KnownHosts].length()'
      Src: com.jcraft.jsch.KnownHosts:215,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:216,1
    - Dst: '[com.jcraft.jsch.KnownHosts].addInvalidLine(String)'
      Src: com.jcraft.jsch.KnownHosts:216,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: com.jcraft.jsch.KnownHosts:238,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.KnownHosts:247,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.KnownHosts:249,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:257,1
    - Dst: '[com.jcraft.jsch.KnownHosts].length()'
      Src: com.jcraft.jsch.KnownHosts:257,1
    - Dst: '[com.jcraft.jsch.Util].fromBase64(byte[],int,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:257,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(com.jcraft.jsch.KnownHosts,com.jcraft.jsch.KnownHosts,int,byte[],com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:256,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].addElement(com.jcraft.jsch.KnownHosts.HashedHostKey)'
      Src: com.jcraft.jsch.KnownHosts:258,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KnownHosts:261,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.KnownHosts:266,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KnownHosts,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:266,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 154
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - input
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 268
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 268
    functionName: '[com.jcraft.jsch.KnownHosts].setKnownHosts(java.io.InputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].addInvalidLine(String)'
    - System.arraycopy(com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts)
    - '[com.jcraft.jsch.KnownHosts].charAt(int)'
    - e.toString()
    - '[StringBuilder].<init>()'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KnownHosts)'
    - '[com.jcraft.jsch.KnownHosts].length()'
    - '[com.jcraft.jsch.HostKey].name2type(com.jcraft.jsch.KnownHosts)'
    - '[com.jcraft.jsch.Util].fromBase64(byte[],int,com.jcraft.jsch.KnownHosts)'
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].addElement(com.jcraft.jsch.KnownHosts.HashedHostKey)'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KnownHosts,com.jcraft.jsch.KnownHosts)'
    - '[StringBuilder].append(char)'
    - '[StringBuilder].toString()'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(com.jcraft.jsch.KnownHosts,com.jcraft.jsch.KnownHosts,int,byte[],com.jcraft.jsch.KnownHosts)'
    - '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[StringBuilder].setLength(int)'
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].removeAllElements()'
    - fis.read()
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHosts].setKnownHosts(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,int,null)'
      Src: com.jcraft.jsch.KnownHosts:271,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].addElement(com.jcraft.jsch.HostKey)'
      Src: com.jcraft.jsch.KnownHosts:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - line
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: '[com.jcraft.jsch.KnownHosts].addInvalidLine(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 1
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].addElement(com.jcraft.jsch.HostKey)'
    - '[com.jcraft.jsch.HostKey].<init>(String,int,null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHosts].addInvalidLine(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: '[com.jcraft.jsch.KnownHosts].getKnownHostsFile()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KnownHosts].getKnownHostsFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: '[com.jcraft.jsch.KnownHosts].getKnownHostsRepositoryID()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KnownHosts].getKnownHostsRepositoryID()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,int,byte[])'
      Src: com.jcraft.jsch.KnownHosts:293,1
    - Dst: '[com.jcraft.jsch.JSch].getInstanceLogger()'
      Src: com.jcraft.jsch.KnownHosts:295,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KnownHosts,String,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:295,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].size()'
      Src: com.jcraft.jsch.KnownHosts:301,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].elementAt(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:302,1
    - Dst: '[com.jcraft.jsch.KnownHosts].isMatched(String)'
      Src: com.jcraft.jsch.KnownHosts:303,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KnownHosts,byte[])'
      Src: com.jcraft.jsch.KnownHosts:304,1
    - Dst: '[String].startsWith(String)'
      Src: com.jcraft.jsch.KnownHosts:312,1
    - Dst: '[String].indexOf(String)'
      Src: com.jcraft.jsch.KnownHosts:312,1
    - Dst: '[String].indexOf(String)'
      Src: com.jcraft.jsch.KnownHosts:313,1
    - Dst: '[String].substring(int,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:313,1
    - Dst: '[com.jcraft.jsch.KnownHosts].check(com.jcraft.jsch.KnownHosts,byte[])'
      Src: com.jcraft.jsch.KnownHosts:313,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - host
    - key
    argTypes:
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 317
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 317
    functionName: '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KnownHosts,byte[])'
    - '[String].indexOf(String)'
    - '[String].startsWith(String)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KnownHosts,String,com.jcraft.jsch.KnownHosts)'
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].elementAt(com.jcraft.jsch.KnownHosts)'
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].size()'
    - '[String].substring(int,com.jcraft.jsch.KnownHosts)'
    - '[com.jcraft.jsch.JSch].getInstanceLogger()'
    - '[com.jcraft.jsch.HostKey].<init>(String,int,byte[])'
    - '[com.jcraft.jsch.KnownHosts].isMatched(String)'
    - '[com.jcraft.jsch.KnownHosts].check(com.jcraft.jsch.KnownHosts,byte[])'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.HostKey].getHost()'
      Src: com.jcraft.jsch.KnownHosts:322,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].size()'
      Src: com.jcraft.jsch.KnownHosts:327,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].elementAt(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:328,1
    - Dst: '[com.jcraft.jsch.KnownHosts].isMatched(String)'
      Src: com.jcraft.jsch.KnownHosts:329,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].addElement(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:340,1
    - Dst: '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(com.jcraft.jsch.UserInfo)'
      Src: com.jcraft.jsch.KnownHosts:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.HostKey
      - com.jcraft.jsch.UserInfo
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - hostkey
    - userinfo
    argTypes:
    - com.jcraft.jsch.HostKey
    - com.jcraft.jsch.UserInfo
    constantsTouched: []
    func_position:
      end: 343
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 343
    functionName: '[com.jcraft.jsch.KnownHosts].add(com.jcraft.jsch.HostKey,com.jcraft.jsch.UserInfo)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].elementAt(com.jcraft.jsch.KnownHosts)'
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].size()'
    - '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(com.jcraft.jsch.UserInfo)'
    - '[com.jcraft.jsch.HostKey].getHost()'
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].addElement(com.jcraft.jsch.KnownHosts)'
    - '[com.jcraft.jsch.KnownHosts].isMatched(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHosts].add(com.jcraft.jsch.HostKey,com.jcraft.jsch.UserInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].getKnownHostsRepositoryID()'
      Src: com.jcraft.jsch.KnownHosts:346,1
    - Dst: '[com.jcraft.jsch.Util].checkTilde(String)'
      Src: com.jcraft.jsch.KnownHosts:351,1
    - Dst: '[java.io.File].<init>(String)'
      Src: com.jcraft.jsch.KnownHosts:351,1
    - Dst: '[java.io.File].exists()'
      Src: com.jcraft.jsch.KnownHosts:352,1
    - Dst: '[com.jcraft.jsch.UserInfo].promptYesNo(String)'
      Src: com.jcraft.jsch.KnownHosts:355,1
    - Dst: '[java.io.File].getParentFile()'
      Src: com.jcraft.jsch.KnownHosts:357,1
    - Dst: '[com.jcraft.jsch.KnownHosts].exists()'
      Src: com.jcraft.jsch.KnownHosts:358,1
    - Dst: '[com.jcraft.jsch.UserInfo].promptYesNo(String)'
      Src: com.jcraft.jsch.KnownHosts:359,1
    - Dst: '[com.jcraft.jsch.KnownHosts].mkdirs()'
      Src: com.jcraft.jsch.KnownHosts:362,1
    - Dst: '[com.jcraft.jsch.UserInfo].showMessage(String)'
      Src: com.jcraft.jsch.KnownHosts:363,1
    - Dst: '[com.jcraft.jsch.UserInfo].showMessage(String)'
      Src: com.jcraft.jsch.KnownHosts:366,1
    - Dst: '[com.jcraft.jsch.KnownHosts].sync(String)'
      Src: com.jcraft.jsch.KnownHosts:379,1
    - Dst: '[com.jcraft.jsch.JSch].getInstanceLogger()'
      Src: com.jcraft.jsch.KnownHosts:381,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getPath()'
      Src: com.jcraft.jsch.KnownHosts:381,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KnownHosts,String,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:381,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.UserInfo
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - userinfo
    argTypes:
    - com.jcraft.jsch.UserInfo
    constantsTouched: []
    func_position:
      end: 384
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 384
    functionName: '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(com.jcraft.jsch.UserInfo)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 2
    functionsReached:
    - '[java.io.File].getParentFile()'
    - '[com.jcraft.jsch.KnownHosts].getKnownHostsRepositoryID()'
    - '[com.jcraft.jsch.UserInfo].showMessage(String)'
    - '[com.jcraft.jsch.KnownHosts].mkdirs()'
    - '[com.jcraft.jsch.KnownHosts].exists()'
    - '[java.io.File].exists()'
    - '[com.jcraft.jsch.KnownHosts].sync(String)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KnownHosts,String,com.jcraft.jsch.KnownHosts)'
    - '[java.io.File].<init>(String)'
    - '[com.jcraft.jsch.KnownHosts].getPath()'
    - '[com.jcraft.jsch.UserInfo].promptYesNo(String)'
    - '[com.jcraft.jsch.JSch].getInstanceLogger()'
    - '[com.jcraft.jsch.Util].checkTilde(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(com.jcraft.jsch.UserInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(null,String)'
      Src: com.jcraft.jsch.KnownHosts:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: HostKey[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: '[com.jcraft.jsch.KnownHosts].getHostKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].getHostKey(null,String)'
    linkageType: ''
    returnType: HostKey[]
    signature: '[com.jcraft.jsch.KnownHosts].getHostKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: com.jcraft.jsch.KnownHosts:394,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].size()'
      Src: com.jcraft.jsch.KnownHosts:395,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].elementAt(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:396,1
    - Dst: '[com.jcraft.jsch.KnownHosts].isMatched(String)'
      Src: com.jcraft.jsch.KnownHosts:399,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getType()'
      Src: com.jcraft.jsch.KnownHosts:399,1
    - Dst: '[com.jcraft.jsch.KnownHosts].equals(String)'
      Src: com.jcraft.jsch.KnownHosts:399,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:400,1
    - Dst: '[java.util.ArrayList].size()'
      Src: com.jcraft.jsch.KnownHosts:403,1
    - Dst: '[java.util.ArrayList].size()'
      Src: com.jcraft.jsch.KnownHosts:404,1
    - Dst: '[java.util.ArrayList].get(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:405,1
    - Dst: '[String].startsWith(String)'
      Src: com.jcraft.jsch.KnownHosts:407,1
    - Dst: '[String].indexOf(String)'
      Src: com.jcraft.jsch.KnownHosts:407,1
    - Dst: '[String].indexOf(String)'
      Src: com.jcraft.jsch.KnownHosts:408,1
    - Dst: '[String].substring(int,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:408,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHostKey(com.jcraft.jsch.KnownHosts,String)'
      Src: com.jcraft.jsch.KnownHosts:408,1
    - Dst: System.arraycopy(com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts)
      Src: com.jcraft.jsch.KnownHosts:411,1
    - Dst: System.arraycopy(HostKey[],int,com.jcraft.jsch.KnownHosts,com.jcraft.jsch.KnownHosts,com.jcraft.jsch.KnownHosts)
      Src: com.jcraft.jsch.KnownHosts:412,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: HostKey[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - host
    - type
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 418
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 418
    functionName: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].equals(String)'
    - '[java.util.ArrayList].add(com.jcraft.jsch.KnownHosts)'
    - '[java.util.ArrayList].get(com.jcraft.jsch.KnownHosts)'
    - '[java.util.ArrayList].<init>()'
    - '[String].indexOf(String)'
    - '[java.util.ArrayList].size()'
    - '[String].startsWith(String)'
    - '[com.jcraft.jsch.KnownHosts].getHostKey(com.jcraft.jsch.KnownHosts,String)'
    - System.arraycopy(com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts,int,com.jcraft.jsch.KnownHosts)
    - System.arraycopy(HostKey[],int,com.jcraft.jsch.KnownHosts,com.jcraft.jsch.KnownHosts,com.jcraft.jsch.KnownHosts)
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].elementAt(com.jcraft.jsch.KnownHosts)'
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].size()'
    - '[String].substring(int,com.jcraft.jsch.KnownHosts)'
    - '[com.jcraft.jsch.KnownHosts].isMatched(String)'
    - '[com.jcraft.jsch.KnownHosts].getType()'
    linkageType: ''
    returnType: HostKey[]
    signature: '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].remove(String,String,null)'
      Src: com.jcraft.jsch.KnownHosts:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - host
    - type
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: '[com.jcraft.jsch.KnownHosts].remove(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].remove(String,String,null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHosts].remove(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].size()'
      Src: com.jcraft.jsch.KnownHosts:429,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].elementAt(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:430,1
    - Dst: '[com.jcraft.jsch.KnownHosts].isMatched(String)'
      Src: com.jcraft.jsch.KnownHosts:431,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getType()'
      Src: com.jcraft.jsch.KnownHosts:432,1
    - Dst: '[com.jcraft.jsch.KnownHosts].equals(String)'
      Src: com.jcraft.jsch.KnownHosts:432,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:432,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getHost()'
      Src: com.jcraft.jsch.KnownHosts:433,1
    - Dst: '[com.jcraft.jsch.KnownHosts].equals(String)'
      Src: com.jcraft.jsch.KnownHosts:434,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].isHashed()'
      Src: com.jcraft.jsch.KnownHosts:435,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].removeElement(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:436,1
    - Dst: '[com.jcraft.jsch.KnownHosts].deleteSubString(com.jcraft.jsch.KnownHosts,String)'
      Src: com.jcraft.jsch.KnownHosts:439,1
    - Dst: '[com.jcraft.jsch.KnownHosts].sync()'
      Src: com.jcraft.jsch.KnownHosts:447,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - host
    - type
    - key
    argTypes:
    - String
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 451
      start: 425
    functionDepth: 3
    functionLinenumber: 425
    functionLinenumberEnd: 451
    functionName: '[com.jcraft.jsch.KnownHosts].remove(String,String,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].equals(String)'
    - '[com.jcraft.jsch.KnownHosts].getHost()'
    - '[com.jcraft.jsch.KnownHosts].deleteSubString(com.jcraft.jsch.KnownHosts,String)'
    - '[com.jcraft.jsch.Util].array_equals(byte[],com.jcraft.jsch.KnownHosts)'
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].elementAt(com.jcraft.jsch.KnownHosts)'
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].size()'
    - '[com.jcraft.jsch.KnownHosts].sync()'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].isHashed()'
    - '[com.jcraft.jsch.KnownHosts].isMatched(String)'
    - '[com.jcraft.jsch.KnownHosts].getType()'
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].removeElement(com.jcraft.jsch.KnownHosts)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHosts].remove(String,String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts].sync(String)'
      Src: com.jcraft.jsch.KnownHosts:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: '[com.jcraft.jsch.KnownHosts].sync()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].sync(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHosts].sync()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].checkTilde(String)'
      Src: com.jcraft.jsch.KnownHosts:461,1
    - Dst: '[java.io.FileOutputStream].<init>(String)'
      Src: com.jcraft.jsch.KnownHosts:461,1
    - Dst: '[com.jcraft.jsch.KnownHosts].dump(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 464
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 464
    functionName: '[com.jcraft.jsch.KnownHosts].sync(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].dump(com.jcraft.jsch.KnownHosts)'
    - '[com.jcraft.jsch.Util].checkTilde(String)'
    - '[java.io.FileOutputStream].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHosts].sync(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].size()'
      Src: com.jcraft.jsch.KnownHosts:473,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.HostKey>].elementAt(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:474,1
    - Dst: '[com.jcraft.jsch.KnownHosts].dumpHostKey(java.io.OutputStream,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:475,1
    - Dst: '[com.jcraft.jsch.JSch].getInstanceLogger()'
      Src: com.jcraft.jsch.KnownHosts:479,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KnownHosts,String,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - out
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 481
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 481
    functionName: '[com.jcraft.jsch.KnownHosts].dump(java.io.OutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].dumpHostKey(java.io.OutputStream,com.jcraft.jsch.KnownHosts)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KnownHosts,String,com.jcraft.jsch.KnownHosts)'
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].elementAt(com.jcraft.jsch.KnownHosts)'
    - '[java.util.Vector<com.jcraft.jsch.HostKey>].size()'
    - '[com.jcraft.jsch.JSch].getInstanceLogger()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHosts].dump(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.HostKey].getMarker()'
      Src: com.jcraft.jsch.KnownHosts:484,1
    - Dst: '[com.jcraft.jsch.HostKey].getHost()'
      Src: com.jcraft.jsch.KnownHosts:485,1
    - Dst: '[com.jcraft.jsch.HostKey].getType()'
      Src: com.jcraft.jsch.KnownHosts:486,1
    - Dst: '[com.jcraft.jsch.HostKey].getComment()'
      Src: com.jcraft.jsch.KnownHosts:487,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KnownHosts:488,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KnownHosts:489,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KnownHosts:489,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KnownHosts:490,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.KnownHosts:493,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KnownHosts:494,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KnownHosts:494,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KnownHosts:495,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KnownHosts:497,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KnownHosts:497,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KnownHosts:498,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KnownHosts:499,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KnownHosts:499,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KnownHosts:500,1
    - Dst: '[com.jcraft.jsch.HostKey].getKey()'
      Src: com.jcraft.jsch.KnownHosts:501,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KnownHosts:501,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KnownHosts:501,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KnownHosts:504,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KnownHosts:505,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KnownHosts:505,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KnownHosts:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - com.jcraft.jsch.HostKey
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - out
    - hk
    argTypes:
    - java.io.OutputStream
    - com.jcraft.jsch.HostKey
    constantsTouched: []
    func_position:
      end: 508
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 508
    functionName: '[com.jcraft.jsch.KnownHosts].dumpHostKey(java.io.OutputStream,com.jcraft.jsch.HostKey)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[String].length()'
    - '[com.jcraft.jsch.HostKey].getComment()'
    - '[com.jcraft.jsch.HostKey].getKey()'
    - '[String].equals(String)'
    - '[java.io.OutputStream].write(byte[])'
    - '[com.jcraft.jsch.HostKey].getHost()'
    - '[com.jcraft.jsch.HostKey].getMarker()'
    - '[com.jcraft.jsch.HostKey].getType()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHosts].dumpHostKey(java.io.OutputStream,com.jcraft.jsch.HostKey)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.KnownHosts:512,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.KnownHosts:513,1
    - Dst: '[String].indexOf(char,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:516,1
    - Dst: '[String].substring(com.jcraft.jsch.KnownHosts,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:519,1
    - Dst: '[String].equals(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:519,1
    - Dst: '[String].substring(int,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:523,1
    - Dst: '[String].substring(int)'
      Src: com.jcraft.jsch.KnownHosts:523,1
    - Dst: '[String].endsWith(String)'
      Src: com.jcraft.jsch.KnownHosts:525,1
    - Dst: '[String].substring(int)'
      Src: com.jcraft.jsch.KnownHosts:526,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - hosts
    - host
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 529
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 529
    functionName: '[com.jcraft.jsch.KnownHosts].deleteSubString(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 1
    functionsReached:
    - '[String].indexOf(char,com.jcraft.jsch.KnownHosts)'
    - '[String].length()'
    - '[String].substring(com.jcraft.jsch.KnownHosts,com.jcraft.jsch.KnownHosts)'
    - '[String].substring(int)'
    - '[String].endsWith(String)'
    - '[String].substring(int,com.jcraft.jsch.KnownHosts)'
    - '[String].equals(com.jcraft.jsch.KnownHosts)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KnownHosts].deleteSubString(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KnownHosts:533,1
    - Dst: '[com.jcraft.jsch.KnownHosts].createHMAC(String)'
      Src: com.jcraft.jsch.KnownHosts:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - IllegalArgumentException
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.MAC
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: '[com.jcraft.jsch.KnownHosts].getHMACSHA1()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KnownHosts].createHMAC(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.MAC
    signature: '[com.jcraft.jsch.KnownHosts].getHMACSHA1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KnownHosts:541,1
    - Dst: '[com.jcraft.jsch.KnownHosts].asSubclass()'
      Src: com.jcraft.jsch.KnownHosts:541,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KnownHosts:542,1
    - Dst: '[com.jcraft.jsch.KnownHosts].newInstance()'
      Src: com.jcraft.jsch.KnownHosts:542,1
    - Dst: '[com.jcraft.jsch.JSch].getInstanceLogger()'
      Src: com.jcraft.jsch.KnownHosts:544,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KnownHosts,String,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:544,1
    - Dst: '[IllegalArgumentException].<init>(String,com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.KnownHosts:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - IllegalArgumentException
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.MAC
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - hmacClassname
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 549
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 549
    functionName: '[com.jcraft.jsch.KnownHosts].createHMAC(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].getDeclaredConstructor()'
    - '[IllegalArgumentException].<init>(String,com.jcraft.jsch.KnownHosts)'
    - '[com.jcraft.jsch.KnownHosts].asSubclass()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KnownHosts,String,com.jcraft.jsch.KnownHosts)'
    - Class.forName(String)
    - '[com.jcraft.jsch.JSch].getInstanceLogger()'
    - '[com.jcraft.jsch.KnownHosts].newInstance()'
    linkageType: ''
    returnType: com.jcraft.jsch.MAC
    signature: '[com.jcraft.jsch.KnownHosts].createHMAC(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,byte[])'
      Src: com.jcraft.jsch.KnownHosts:552,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
      Src: com.jcraft.jsch.KnownHosts:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.JSch
      - String
      - java.util.Vector<com.jcraft.jsch.HostKey>
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces:
      - com.jcraft.jsch.HostKeyRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - host
    - key
    argTypes:
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: '[com.jcraft.jsch.KnownHosts].createHashedHostKey(String,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,byte[])'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.KnownHosts].createHashedHostKey(String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,com.jcraft.jsch.KnownHosts.HashedHostKey,byte[])'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KnownHosts.HashedHostKey
      static: false
      superClass: HostKey
    argCount: 2
    argNames:
    - host
    - key
    argTypes:
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 567
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 567
    functionName: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,com.jcraft.jsch.KnownHosts.HashedHostKey,byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.KnownHosts.HashedHostKey
    signature: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,String,int,byte[],null)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KnownHosts.HashedHostKey
      static: false
      superClass: HostKey
    argCount: 3
    argNames:
    - host
    - type
    - key
    argTypes:
    - String
    - int
    - byte[]
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,int,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,String,int,byte[],null)'
    linkageType: ''
    returnType: com.jcraft.jsch.KnownHosts.HashedHostKey
    signature: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,int,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,String,int,byte[],String)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:575,1
    - Dst: this.host.startsWith(String)
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:576,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:577,1
    - Dst: this.host.substring(com.jcraft.jsch.KnownHosts.HashedHostKey)
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:577,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].indexOf(String)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:577,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:578,1
    - Dst: this.host.substring(com.jcraft.jsch.KnownHosts.HashedHostKey)
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:578,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].indexOf(String)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:579,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].substring(int,com.jcraft.jsch.KnownHosts.HashedHostKey)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:579,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].indexOf(String)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:580,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].substring(int)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:580,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KnownHosts.HashedHostKey)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:581,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].length()'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:581,1
    - Dst: '[com.jcraft.jsch.Util].fromBase64(byte[],int,com.jcraft.jsch.KnownHosts.HashedHostKey)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:581,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KnownHosts.HashedHostKey)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:582,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].length()'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:582,1
    - Dst: '[com.jcraft.jsch.Util].fromBase64(byte[],int,com.jcraft.jsch.KnownHosts.HashedHostKey)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:582,1
    - Dst: hmacsha1.getBlockSize()
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - int
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KnownHosts.HashedHostKey
      static: false
      superClass: HostKey
    argCount: 5
    argNames:
    - marker
    - host
    - type
    - key
    - comment
    argTypes:
    - String
    - String
    - int
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 591
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 591
    functionName: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,String,int,byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 2
    functionsReached:
    - '[String].length()'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].length()'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].indexOf(String)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].substring(int)'
    - hmacsha1.getBlockSize()
    - '[com.jcraft.jsch.Util].fromBase64(byte[],int,com.jcraft.jsch.KnownHosts.HashedHostKey)'
    - this.host.startsWith(String)
    - '[com.jcraft.jsch.HostKey].<init>(String,String,int,byte[],String)'
    - this.host.substring(com.jcraft.jsch.KnownHosts.HashedHostKey)
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KnownHosts.HashedHostKey)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].substring(int,com.jcraft.jsch.KnownHosts.HashedHostKey)'
    linkageType: ''
    returnType: com.jcraft.jsch.KnownHosts.HashedHostKey
    signature: '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,String,int,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.HostKey].isMatched(String)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:596,1
    - Dst: hmacsha1.init(byte[])
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:600,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:601,1
    - Dst: hmacsha1.update(byte[],int,com.jcraft.jsch.KnownHosts.HashedHostKey)
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:602,1
    - Dst: hmacsha1.getBlockSize()
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:603,1
    - Dst: hmacsha1.doFinal(com.jcraft.jsch.KnownHosts.HashedHostKey,int)
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:604,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],com.jcraft.jsch.KnownHosts.HashedHostKey)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:605,1
    - Dst: jsch.getInstanceLogger()
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:608,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].log(com.jcraft.jsch.KnownHosts.HashedHostKey,String,com.jcraft.jsch.KnownHosts.HashedHostKey)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:608,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: HostKey
    argCount: 1
    argNames:
    - _host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 3
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: '[com.jcraft.jsch.KnownHosts.HashedHostKey].isMatched(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 1
    functionsReached:
    - hmacsha1.doFinal(com.jcraft.jsch.KnownHosts.HashedHostKey,int)
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.HostKey].isMatched(String)'
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].log(com.jcraft.jsch.KnownHosts.HashedHostKey,String,com.jcraft.jsch.KnownHosts.HashedHostKey)'
    - hmacsha1.getBlockSize()
    - hmacsha1.init(byte[])
    - jsch.getInstanceLogger()
    - '[com.jcraft.jsch.Util].array_equals(byte[],com.jcraft.jsch.KnownHosts.HashedHostKey)'
    - hmacsha1.update(byte[],int,com.jcraft.jsch.KnownHosts.HashedHostKey)
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KnownHosts.HashedHostKey].isMatched(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: HostKey
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 616
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 616
    functionName: '[com.jcraft.jsch.KnownHosts.HashedHostKey].isHashed()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KnownHosts.HashedHostKey].isHashed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmacsha1.getBlockSize()
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:624,1
    - Dst: random.fill(byte[],int,com.jcraft.jsch.KnownHosts.HashedHostKey)
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:625,1
    - Dst: hmacsha1.init(byte[])
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:630,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KnownHosts.HashedHostKey)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:631,1
    - Dst: hmacsha1.update(byte[],int,com.jcraft.jsch.KnownHosts.HashedHostKey)
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:632,1
    - Dst: hmacsha1.getBlockSize()
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:633,1
    - Dst: hmacsha1.doFinal(byte[],int)
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:634,1
    - Dst: jsch.getInstanceLogger()
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:637,1
    - Dst: '[com.jcraft.jsch.KnownHosts.HashedHostKey].log(com.jcraft.jsch.KnownHosts.HashedHostKey,String,com.jcraft.jsch.KnownHosts.HashedHostKey)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:637,1
    - Dst: '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.KnownHosts.HashedHostKey,boolean)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:643,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:643,1
    - Dst: '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.KnownHosts.HashedHostKey,boolean)'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:644,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KnownHosts.HashedHostKey:644,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HostKey
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 646
    functionName: '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - jsch.getInstanceLogger()
    - hmacsha1.doFinal(byte[],int)
    - '[com.jcraft.jsch.KnownHosts.HashedHostKey].log(com.jcraft.jsch.KnownHosts.HashedHostKey,String,com.jcraft.jsch.KnownHosts.HashedHostKey)'
    - hmacsha1.getBlockSize()
    - hmacsha1.init(byte[])
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KnownHosts.HashedHostKey)'
    - hmacsha1.update(byte[],int,com.jcraft.jsch.KnownHosts.HashedHostKey)
    - '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.KnownHosts.HashedHostKey,boolean)'
    - random.fill(byte[],int,com.jcraft.jsch.KnownHosts.HashedHostKey)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UserAuth].start(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.UserAuthPassword:34,1
    - Dst: userinfo.promptPassword(String)
      Src: com.jcraft.jsch.UserAuthPassword:55,1
    - Dst: '[com.jcraft.jsch.JSchAuthCancelException].<init>(String)'
      Src: com.jcraft.jsch.UserAuthPassword:56,1
    - Dst: userinfo.getPassword()
      Src: com.jcraft.jsch.UserAuthPassword:60,1
    - Dst: '[com.jcraft.jsch.JSchAuthCancelException].<init>(String)'
      Src: com.jcraft.jsch.UserAuthPassword:62,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthPassword)'
      Src: com.jcraft.jsch.UserAuthPassword:65,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthPassword)'
      Src: com.jcraft.jsch.UserAuthPassword:69,1
    - Dst: packet.reset()
      Src: com.jcraft.jsch.UserAuthPassword:78,1
    - Dst: buf.putByte(byte)
      Src: com.jcraft.jsch.UserAuthPassword:79,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthPassword:80,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthPassword:81,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthPassword:81,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthPassword:82,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthPassword:82,1
    - Dst: buf.putByte(byte)
      Src: com.jcraft.jsch.UserAuthPassword:83,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthPassword:84,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthPassword)'
      Src: com.jcraft.jsch.UserAuthPassword:85,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.UserAuthPassword)'
      Src: com.jcraft.jsch.UserAuthPassword:88,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.UserAuthPassword:89,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthPassword:95,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthPassword:96,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthPassword:97,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthPassword:98,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthPassword:99,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthPassword:100,1
    - Dst: userinfo.showMessage(String)
      Src: com.jcraft.jsch.UserAuthPassword:102,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthPassword:107,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthPassword:108,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthPassword:109,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthPassword:110,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthPassword:111,1
    - Dst: userinfo.showMessage(String)
      Src: com.jcraft.jsch.UserAuthPassword:114,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthPassword:125,1
    - Dst: kbi.promptKeyboardInteractive(com.jcraft.jsch.UserAuthPassword,com.jcraft.jsch.UserAuthPassword,String,com.jcraft.jsch.UserAuthPassword,com.jcraft.jsch.UserAuthPassword)
      Src: com.jcraft.jsch.UserAuthPassword:125,1
    - Dst: '[com.jcraft.jsch.JSchAuthCancelException].<init>(String)'
      Src: com.jcraft.jsch.UserAuthPassword:127,1
    - Dst: '[com.jcraft.jsch.Util].str2byte()'
      Src: com.jcraft.jsch.UserAuthPassword:130,1
    - Dst: packet.reset()
      Src: com.jcraft.jsch.UserAuthPassword:140,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.UserAuthPassword:141,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthPassword:142,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthPassword:143,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthPassword:143,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthPassword:144,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthPassword:144,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.UserAuthPassword:145,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthPassword:146,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.UserAuthPassword)'
      Src: com.jcraft.jsch.UserAuthPassword:147,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.UserAuthPassword)'
      Src: com.jcraft.jsch.UserAuthPassword:148,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthPassword)'
      Src: com.jcraft.jsch.UserAuthPassword:150,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthPassword:154,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthPassword:155,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthPassword:156,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthPassword:157,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthPassword:158,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthPassword:162,1
    - Dst: '[com.jcraft.jsch.JSchPartialAuthException].<init>(String)'
      Src: com.jcraft.jsch.UserAuthPassword:162,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.UserAuthPassword:174,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.UserAuthPassword)'
      Src: com.jcraft.jsch.UserAuthPassword:181,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 98
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.UserAuth
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 188
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 188
    functionName: '[com.jcraft.jsch.UserAuthPassword].start(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthPassword.java
    functionUses: 0
    functionsReached:
    - buf.putByte(byte)
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Session].read(com.jcraft.jsch.UserAuthPassword)'
    - packet.reset()
    - '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.UserAuthPassword)'
    - '[com.jcraft.jsch.JSchAuthCancelException].<init>(String)'
    - userinfo.getPassword()
    - buf.putString(byte[])
    - userinfo.promptPassword(String)
    - '[com.jcraft.jsch.UserAuth].start(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthPassword)'
    - userinfo.showMessage(String)
    - '[com.jcraft.jsch.Util].str2byte()'
    - '[com.jcraft.jsch.JSchPartialAuthException].<init>(String)'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthPassword)'
    - kbi.promptKeyboardInteractive(com.jcraft.jsch.UserAuthPassword,com.jcraft.jsch.UserAuthPassword,String,com.jcraft.jsch.UserAuthPassword,com.jcraft.jsch.UserAuthPassword)
    - '[com.jcraft.jsch.Buffer].getCommand()'
    - '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.UserAuthPassword)'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.UserAuthPassword].start(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.UserAuthPassword
      static: false
      superClass: com.jcraft.jsch.UserAuth
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.UserAuthPassword].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthPassword.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.UserAuthPassword
    signature: '[com.jcraft.jsch.UserAuthPassword].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHEC521
      static: false
      superClass: com.jcraft.jsch.DHECN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.DHEC521].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHEC521.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHEC521
    signature: '[com.jcraft.jsch.DHEC521].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DH25519
      static: false
      superClass: com.jcraft.jsch.DHXEC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.DH25519].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DH25519.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DH25519
    signature: '[com.jcraft.jsch.DH25519].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].getSystemProperty(String,String)'
      Src: com.jcraft.jsch.PageantConnector:54,1
    - Dst: '[String].startsWith(String)'
      Src: com.jcraft.jsch.PageantConnector:54,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].<init>(String)'
      Src: com.jcraft.jsch.PageantConnector:55,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.PageantConnector:62,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].<init>(com.jcraft.jsch.PageantConnector,com.jcraft.jsch.PageantConnector)'
      Src: com.jcraft.jsch.PageantConnector:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - com.sun.jna.platform.win32.User32
      - com.sun.jna.platform.win32.Kernel32
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.AgentProxyException
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.PageantConnector
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: '[com.jcraft.jsch.PageantConnector].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PageantConnector.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].getSystemProperty(String,String)'
    - '[String].startsWith(String)'
    - '[com.jcraft.jsch.AgentProxyException].<init>(com.jcraft.jsch.PageantConnector,com.jcraft.jsch.PageantConnector)'
    - '[com.jcraft.jsch.AgentProxyException].<init>(String)'
    - e.toString()
    linkageType: ''
    returnType: com.jcraft.jsch.PageantConnector
    signature: '[com.jcraft.jsch.PageantConnector].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - com.sun.jna.platform.win32.User32
      - com.sun.jna.platform.win32.Kernel32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[com.jcraft.jsch.PageantConnector].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PageantConnector.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.PageantConnector].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.sun.jna.platform.win32.User32].FindWindow(String,String)'
      Src: com.jcraft.jsch.PageantConnector:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - com.sun.jna.platform.win32.User32
      - com.sun.jna.platform.win32.Kernel32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[com.jcraft.jsch.PageantConnector].isAvailable()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PageantConnector.java
    functionUses: 0
    functionsReached:
    - '[com.sun.jna.platform.win32.User32].FindWindow(String,String)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.PageantConnector].isAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.PageantConnector:78,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].<init>(String)'
      Src: com.jcraft.jsch.PageantConnector:79,1
    - Dst: '[com.sun.jna.platform.win32.User32].FindWindow(String,String)'
      Src: com.jcraft.jsch.PageantConnector:82,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].<init>(String)'
      Src: com.jcraft.jsch.PageantConnector:85,1
    - Dst: '[com.sun.jna.platform.win32.Kernel32].GetCurrentThreadId()'
      Src: com.jcraft.jsch.PageantConnector:89,1
    - Dst: String.format(com.jcraft.jsch.PageantConnector,String,com.jcraft.jsch.PageantConnector)
      Src: com.jcraft.jsch.PageantConnector:89,1
    - Dst: '[com.sun.jna.platform.win32.Kernel32].CreateFileMapping(com.jcraft.jsch.PageantConnector,com.jcraft.jsch.PageantConnector,com.jcraft.jsch.PageantConnector,int,int,com.jcraft.jsch.PageantConnector)'
      Src: com.jcraft.jsch.PageantConnector:97,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].<init>(String)'
      Src: com.jcraft.jsch.PageantConnector:100,1
    - Dst: '[com.sun.jna.platform.win32.Kernel32].MapViewOfFile(com.jcraft.jsch.PageantConnector,com.jcraft.jsch.PageantConnector,int,int,int)'
      Src: com.jcraft.jsch.PageantConnector:103,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].<init>(String)'
      Src: com.jcraft.jsch.PageantConnector:105,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.PageantConnector:108,1
    - Dst: '[com.jcraft.jsch.PageantConnector].write(int,byte[],int,int)'
      Src: com.jcraft.jsch.PageantConnector:108,1
    - Dst: '[com.jcraft.jsch.PageantConnector].createCDS(com.jcraft.jsch.PageantConnector)'
      Src: com.jcraft.jsch.PageantConnector:110,1
    - Dst: '[com.jcraft.jsch.PageantConnector].sendMessage(com.jcraft.jsch.PageantConnector,com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT)'
      Src: com.jcraft.jsch.PageantConnector:111,1
    - Dst: cds.dwData.longValue()
      Src: com.jcraft.jsch.PageantConnector:113,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.PageantConnector:115,1
    - Dst: '[com.jcraft.jsch.PageantConnector].read(int,byte[],int,int)'
      Src: com.jcraft.jsch.PageantConnector:117,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.PageantConnector:118,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].<init>(String)'
      Src: com.jcraft.jsch.PageantConnector:120,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.PageantConnector:122,1
    - Dst: '[com.jcraft.jsch.Buffer].checkFreeSize(int)'
      Src: com.jcraft.jsch.PageantConnector:123,1
    - Dst: '[com.jcraft.jsch.PageantConnector].read(int,byte[],int,int)'
      Src: com.jcraft.jsch.PageantConnector:124,1
    - Dst: Long.toHexString(com.jcraft.jsch.PageantConnector)
      Src: com.jcraft.jsch.PageantConnector:127,1
    - Dst: '[com.jcraft.jsch.AgentProxyException].<init>(String)'
      Src: com.jcraft.jsch.PageantConnector:126,1
    - Dst: '[com.sun.jna.platform.win32.Kernel32].UnmapViewOfFile(com.jcraft.jsch.PageantConnector)'
      Src: com.jcraft.jsch.PageantConnector:131,1
    - Dst: '[com.sun.jna.platform.win32.Kernel32].CloseHandle(com.jcraft.jsch.PageantConnector)'
      Src: com.jcraft.jsch.PageantConnector:133,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - com.sun.jna.platform.win32.User32
      - com.sun.jna.platform.win32.Kernel32
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.AgentProxyException
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 135
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 135
    functionName: '[com.jcraft.jsch.PageantConnector].query(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PageantConnector.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.PageantConnector].write(int,byte[],int,int)'
    - '[com.sun.jna.platform.win32.Kernel32].GetCurrentThreadId()'
    - Long.toHexString(com.jcraft.jsch.PageantConnector)
    - '[com.jcraft.jsch.Buffer].getLength()'
    - cds.dwData.longValue()
    - '[com.jcraft.jsch.Buffer].checkFreeSize(int)'
    - '[com.jcraft.jsch.PageantConnector].createCDS(com.jcraft.jsch.PageantConnector)'
    - '[com.sun.jna.platform.win32.Kernel32].UnmapViewOfFile(com.jcraft.jsch.PageantConnector)'
    - String.format(com.jcraft.jsch.PageantConnector,String,com.jcraft.jsch.PageantConnector)
    - '[com.sun.jna.platform.win32.Kernel32].CreateFileMapping(com.jcraft.jsch.PageantConnector,com.jcraft.jsch.PageantConnector,com.jcraft.jsch.PageantConnector,int,int,com.jcraft.jsch.PageantConnector)'
    - '[com.sun.jna.platform.win32.Kernel32].MapViewOfFile(com.jcraft.jsch.PageantConnector,com.jcraft.jsch.PageantConnector,int,int,int)'
    - '[com.jcraft.jsch.PageantConnector].sendMessage(com.jcraft.jsch.PageantConnector,com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT)'
    - '[com.jcraft.jsch.AgentProxyException].<init>(String)'
    - '[com.jcraft.jsch.Buffer].rewind()'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.PageantConnector].read(int,byte[],int,int)'
    - '[com.sun.jna.platform.win32.Kernel32].CloseHandle(com.jcraft.jsch.PageantConnector)'
    - '[com.sun.jna.platform.win32.User32].FindWindow(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PageantConnector].query(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.PageantConnector:138,1
    - Dst: '[com.sun.jna.Memory].<init>(int)'
      Src: com.jcraft.jsch.PageantConnector:138,1
    - Dst: '[com.sun.jna.Memory].setString(int,String,String)'
      Src: com.jcraft.jsch.PageantConnector:139,1
    - Dst: '[com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT].<init>()'
      Src: com.jcraft.jsch.PageantConnector:140,1
    - Dst: '[com.sun.jna.platform.win32.BaseTSD.ULONG_PTR].<init>(long)'
      Src: com.jcraft.jsch.PageantConnector:141,1
    - Dst: '[com.sun.jna.Memory].size()'
      Src: com.jcraft.jsch.PageantConnector:142,1
    - Dst: '[com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT].write()'
      Src: com.jcraft.jsch.PageantConnector:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - com.sun.jna.platform.win32.User32
      - com.sun.jna.platform.win32.Kernel32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - mapname
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: '[com.jcraft.jsch.PageantConnector].createCDS(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PageantConnector.java
    functionUses: 0
    functionsReached:
    - '[String].length()'
    - '[com.sun.jna.Memory].setString(int,String,String)'
    - '[com.sun.jna.Memory].size()'
    - '[com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT].<init>()'
    - '[com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT].write()'
    - '[com.sun.jna.Memory].<init>(int)'
    - '[com.sun.jna.platform.win32.BaseTSD.ULONG_PTR].<init>(long)'
    linkageType: ''
    returnType: com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT
    signature: '[com.jcraft.jsch.PageantConnector].createCDS(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT].getPointer()'
      Src: com.jcraft.jsch.PageantConnector:149,1
    - Dst: '[com.sun.jna.Pointer].nativeValue(com.jcraft.jsch.PageantConnector)'
      Src: com.jcraft.jsch.PageantConnector:149,1
    - Dst: '[com.sun.jna.platform.win32.WinDef.LPARAM].<init>(com.jcraft.jsch.PageantConnector)'
      Src: com.jcraft.jsch.PageantConnector:149,1
    - Dst: '[com.sun.jna.platform.win32.User32].SendMessage(com.sun.jna.platform.win32.WinDef.HWND,com.jcraft.jsch.PageantConnector,null,com.sun.jna.platform.win32.WinDef.LPARAM)'
      Src: com.jcraft.jsch.PageantConnector:150,1
    - Dst: '[com.jcraft.jsch.PageantConnector].longValue()'
      Src: com.jcraft.jsch.PageantConnector:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.sun.jna.platform.win32.WinDef.HWND
      - com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - com.sun.jna.platform.win32.User32
      - com.sun.jna.platform.win32.Kernel32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.AgentConnector
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - hwnd
    - cds
    argTypes:
    - com.sun.jna.platform.win32.WinDef.HWND
    - com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: '[com.jcraft.jsch.PageantConnector].sendMessage(com.sun.jna.platform.win32.WinDef.HWND,com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PageantConnector.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.PageantConnector].longValue()'
    - '[com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT].getPointer()'
    - '[com.sun.jna.platform.win32.WinDef.LPARAM].<init>(com.jcraft.jsch.PageantConnector)'
    - '[com.sun.jna.Pointer].nativeValue(com.jcraft.jsch.PageantConnector)'
    - '[com.sun.jna.platform.win32.User32].SendMessage(com.sun.jna.platform.win32.WinDef.HWND,com.jcraft.jsch.PageantConnector,null,com.sun.jna.platform.win32.WinDef.LPARAM)'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.PageantConnector].sendMessage(com.sun.jna.platform.win32.WinDef.HWND,com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: '[com.jcraft.jsch.DHG15N].G()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG15N.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DHG15N].G()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: '[com.jcraft.jsch.DHG15N].P()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG15N.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DHG15N].P()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHG15N
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHG15N].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG15N.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHG15N
    signature: '[com.jcraft.jsch.DHG15N].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.PortWatcher:38,1
    - Dst: '[com.jcraft.jsch.PortWatcher].bindLocalPort(String,int,com.jcraft.jsch.ServerSocketFactory)'
      Src: com.jcraft.jsch.PortWatcher:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - String
      - int
      - String
      - com.jcraft.jsch.ServerSocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<com.jcraft.jsch.PortWatcher>
      - java.net.InetAddress
      - com.jcraft.jsch.Session
      - int
      - int
      - String
      - java.net.InetAddress
      - Runnable
      - java.net.ServerSocket
      - int
      - String
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.PortWatcher
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - session
    - address
    - lport
    - socketPath
    - ssf
    argTypes:
    - com.jcraft.jsch.Session
    - String
    - int
    - String
    - com.jcraft.jsch.ServerSocketFactory
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: '[com.jcraft.jsch.PortWatcher].<init>(com.jcraft.jsch.Session,String,int,String,com.jcraft.jsch.ServerSocketFactory)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PortWatcher.java
    functionUses: 1
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.PortWatcher].bindLocalPort(String,int,com.jcraft.jsch.ServerSocketFactory)'
    linkageType: ''
    returnType: com.jcraft.jsch.PortWatcher
    signature: '[com.jcraft.jsch.PortWatcher].<init>(com.jcraft.jsch.Session,String,int,String,com.jcraft.jsch.ServerSocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: com.jcraft.jsch.PortWatcher:74,1
    - Dst: '[java.net.ServerSocket].<init>(int,int,com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:75,1
    - Dst: '[com.jcraft.jsch.ServerSocketFactory].createServerSocket(int,int,com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:76,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.PortWatcher,com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:79,1
    - Dst: '[java.net.ServerSocket].getLocalPort()'
      Src: com.jcraft.jsch.PortWatcher:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - com.jcraft.jsch.ServerSocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<com.jcraft.jsch.PortWatcher>
      - java.net.InetAddress
      - com.jcraft.jsch.Session
      - int
      - int
      - String
      - java.net.InetAddress
      - Runnable
      - java.net.ServerSocket
      - int
      - String
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - address
    - lport
    - ssf
    argTypes:
    - String
    - int
    - com.jcraft.jsch.ServerSocketFactory
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.PortWatcher].bindLocalPort(String,int,com.jcraft.jsch.ServerSocketFactory)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PortWatcher.java
    functionUses: 2
    functionsReached:
    - '[java.net.ServerSocket].<init>(int,int,com.jcraft.jsch.PortWatcher)'
    - '[com.jcraft.jsch.ServerSocketFactory].createServerSocket(int,int,com.jcraft.jsch.PortWatcher)'
    - '[java.net.InetAddress].getByName(String)'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.PortWatcher,com.jcraft.jsch.PortWatcher)'
    - '[java.net.ServerSocket].getLocalPort()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PortWatcher].bindLocalPort(String,int,com.jcraft.jsch.ServerSocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.PortWatcher:89,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.PortWatcher>].size()'
      Src: com.jcraft.jsch.PortWatcher:91,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.PortWatcher>].elementAt(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:92,1
    - Dst: '[java.util.Vector].addElement(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:94,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.PortWatcher:98,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.PortWatcher:99,1
    - Dst: '[java.util.Vector].elementAt(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<com.jcraft.jsch.PortWatcher>
      - java.net.InetAddress
      - com.jcraft.jsch.Session
      - int
      - int
      - String
      - java.net.InetAddress
      - Runnable
      - java.net.ServerSocket
      - int
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: '[com.jcraft.jsch.PortWatcher].getPortForwarding(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PortWatcher.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[java.util.Vector].size()'
    - '[java.util.Vector].addElement(com.jcraft.jsch.PortWatcher)'
    - '[java.util.Vector<com.jcraft.jsch.PortWatcher>].size()'
    - '[java.util.Vector].elementAt(com.jcraft.jsch.PortWatcher)'
    - '[java.util.Vector<com.jcraft.jsch.PortWatcher>].elementAt(com.jcraft.jsch.PortWatcher)'
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.PortWatcher].getPortForwarding(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: com.jcraft.jsch.PortWatcher:108,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:110,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.PortWatcher>].size()'
      Src: com.jcraft.jsch.PortWatcher:113,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.PortWatcher>].elementAt(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:114,1
    - Dst: '[java.net.InetAddress].equals(java.net.InetAddress)'
      Src: com.jcraft.jsch.PortWatcher:117,1
    - Dst: '[java.net.InetAddress].equals(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:118,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<com.jcraft.jsch.PortWatcher>
      - java.net.InetAddress
      - com.jcraft.jsch.Session
      - int
      - int
      - String
      - java.net.InetAddress
      - Runnable
      - java.net.ServerSocket
      - int
      - String
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.PortWatcher
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - session
    - address
    - lport
    argTypes:
    - com.jcraft.jsch.Session
    - String
    - int
    constantsTouched: []
    func_position:
      end: 124
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 124
    functionName: '[com.jcraft.jsch.PortWatcher].getPort(com.jcraft.jsch.Session,String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PortWatcher.java
    functionUses: 3
    functionsReached:
    - '[java.net.InetAddress].equals(java.net.InetAddress)'
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.PortWatcher)'
    - '[java.net.InetAddress].getByName(String)'
    - '[java.util.Vector<com.jcraft.jsch.PortWatcher>].size()'
    - '[java.net.InetAddress].equals(com.jcraft.jsch.PortWatcher)'
    - '[java.util.Vector<com.jcraft.jsch.PortWatcher>].elementAt(com.jcraft.jsch.PortWatcher)'
    linkageType: ''
    returnType: com.jcraft.jsch.PortWatcher
    signature: '[com.jcraft.jsch.PortWatcher].getPort(com.jcraft.jsch.Session,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.PortWatcher:128,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.PortWatcher:128,1
    - Dst: address.equals(String)
      Src: com.jcraft.jsch.PortWatcher:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<com.jcraft.jsch.PortWatcher>
      - java.net.InetAddress
      - com.jcraft.jsch.Session
      - int
      - int
      - String
      - java.net.InetAddress
      - Runnable
      - java.net.ServerSocket
      - int
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - address
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: '[com.jcraft.jsch.PortWatcher].normalize(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PortWatcher.java
    functionUses: 3
    functionsReached:
    - '[String].equals(String)'
    - address.equals(String)
    - '[String].length()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.PortWatcher].normalize(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.PortWatcher].normalize(String)'
      Src: com.jcraft.jsch.PortWatcher:138,1
    - Dst: '[com.jcraft.jsch.PortWatcher].getPort(com.jcraft.jsch.Session,String,int)'
      Src: com.jcraft.jsch.PortWatcher:139,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.PortWatcher:140,1
    - Dst: '[com.jcraft.jsch.PortWatcher].<init>(com.jcraft.jsch.Session,String,int,String,int,com.jcraft.jsch.ServerSocketFactory)'
      Src: com.jcraft.jsch.PortWatcher:143,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.PortWatcher>].addElement(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - String
      - int
      - String
      - int
      - com.jcraft.jsch.ServerSocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<com.jcraft.jsch.PortWatcher>
      - java.net.InetAddress
      - com.jcraft.jsch.Session
      - int
      - int
      - String
      - java.net.InetAddress
      - Runnable
      - java.net.ServerSocket
      - int
      - String
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.PortWatcher
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - session
    - address
    - lport
    - host
    - rport
    - ssf
    argTypes:
    - com.jcraft.jsch.Session
    - String
    - int
    - String
    - int
    - com.jcraft.jsch.ServerSocketFactory
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: '[com.jcraft.jsch.PortWatcher].addPort(com.jcraft.jsch.Session,String,int,String,int,com.jcraft.jsch.ServerSocketFactory)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PortWatcher.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.PortWatcher>].addElement(com.jcraft.jsch.PortWatcher)'
    - '[com.jcraft.jsch.PortWatcher].<init>(com.jcraft.jsch.Session,String,int,String,int,com.jcraft.jsch.ServerSocketFactory)'
    - '[com.jcraft.jsch.PortWatcher].getPort(com.jcraft.jsch.Session,String,int)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.PortWatcher].normalize(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.PortWatcher
    signature: '[com.jcraft.jsch.PortWatcher].addPort(com.jcraft.jsch.Session,String,int,String,int,com.jcraft.jsch.ServerSocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.PortWatcher].normalize(String)'
      Src: com.jcraft.jsch.PortWatcher:149,1
    - Dst: '[com.jcraft.jsch.PortWatcher].getPort(com.jcraft.jsch.Session,String,int)'
      Src: com.jcraft.jsch.PortWatcher:150,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.PortWatcher:152,1
    - Dst: '[com.jcraft.jsch.PortWatcher].delete()'
      Src: com.jcraft.jsch.PortWatcher:155,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.PortWatcher>].removeElement(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<com.jcraft.jsch.PortWatcher>
      - java.net.InetAddress
      - com.jcraft.jsch.Session
      - int
      - int
      - String
      - java.net.InetAddress
      - Runnable
      - java.net.ServerSocket
      - int
      - String
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - session
    - address
    - lport
    argTypes:
    - com.jcraft.jsch.Session
    - String
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: '[com.jcraft.jsch.PortWatcher].delPort(com.jcraft.jsch.Session,String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PortWatcher.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.PortWatcher].getPort(com.jcraft.jsch.Session,String,int)'
    - '[com.jcraft.jsch.PortWatcher].delete()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.PortWatcher].normalize(String)'
    - '[java.util.Vector<com.jcraft.jsch.PortWatcher>].removeElement(com.jcraft.jsch.PortWatcher)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PortWatcher].delPort(com.jcraft.jsch.Session,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector<com.jcraft.jsch.PortWatcher>].size()'
      Src: com.jcraft.jsch.PortWatcher:161,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.PortWatcher>].size()'
      Src: com.jcraft.jsch.PortWatcher:163,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.PortWatcher>].elementAt(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:164,1
    - Dst: '[com.jcraft.jsch.PortWatcher].delete()'
      Src: com.jcraft.jsch.PortWatcher:166,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.PortWatcher>].removeElement(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<com.jcraft.jsch.PortWatcher>
      - java.net.InetAddress
      - com.jcraft.jsch.Session
      - int
      - int
      - String
      - java.net.InetAddress
      - Runnable
      - java.net.ServerSocket
      - int
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 175
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 175
    functionName: '[com.jcraft.jsch.PortWatcher].delPort(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PortWatcher.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.PortWatcher].delete()'
    - '[java.util.Vector<com.jcraft.jsch.PortWatcher>].removeElement(com.jcraft.jsch.PortWatcher)'
    - '[java.util.Vector<com.jcraft.jsch.PortWatcher>].size()'
    - '[java.util.Vector<com.jcraft.jsch.PortWatcher>].elementAt(com.jcraft.jsch.PortWatcher)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PortWatcher].delPort(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.PortWatcher:38,1
    - Dst: '[com.jcraft.jsch.PortWatcher].bindLocalPort(String,int,com.jcraft.jsch.ServerSocketFactory)'
      Src: com.jcraft.jsch.PortWatcher:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - String
      - int
      - String
      - int
      - com.jcraft.jsch.ServerSocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<com.jcraft.jsch.PortWatcher>
      - java.net.InetAddress
      - com.jcraft.jsch.Session
      - int
      - int
      - String
      - java.net.InetAddress
      - Runnable
      - java.net.ServerSocket
      - int
      - String
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.PortWatcher
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - session
    - address
    - lport
    - host
    - rport
    - factory
    argTypes:
    - com.jcraft.jsch.Session
    - String
    - int
    - String
    - int
    - com.jcraft.jsch.ServerSocketFactory
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: '[com.jcraft.jsch.PortWatcher].<init>(com.jcraft.jsch.Session,String,int,String,int,com.jcraft.jsch.ServerSocketFactory)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PortWatcher.java
    functionUses: 1
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.PortWatcher].bindLocalPort(String,int,com.jcraft.jsch.ServerSocketFactory)'
    linkageType: ''
    returnType: com.jcraft.jsch.PortWatcher
    signature: '[com.jcraft.jsch.PortWatcher].<init>(com.jcraft.jsch.Session,String,int,String,int,com.jcraft.jsch.ServerSocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.PortWatcher].normalize(String)'
      Src: com.jcraft.jsch.PortWatcher:188,1
    - Dst: '[com.jcraft.jsch.PortWatcher].getPort(com.jcraft.jsch.Session,String,int)'
      Src: com.jcraft.jsch.PortWatcher:189,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.PortWatcher:190,1
    - Dst: '[com.jcraft.jsch.PortWatcher].<init>(com.jcraft.jsch.Session,String,int,String,com.jcraft.jsch.ServerSocketFactory)'
      Src: com.jcraft.jsch.PortWatcher:193,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.PortWatcher>].addElement(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - String
      - int
      - String
      - com.jcraft.jsch.ServerSocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<com.jcraft.jsch.PortWatcher>
      - java.net.InetAddress
      - com.jcraft.jsch.Session
      - int
      - int
      - String
      - java.net.InetAddress
      - Runnable
      - java.net.ServerSocket
      - int
      - String
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.PortWatcher
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - session
    - bindAddress
    - lport
    - socketPath
    - ssf
    argTypes:
    - com.jcraft.jsch.Session
    - String
    - int
    - String
    - com.jcraft.jsch.ServerSocketFactory
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: '[com.jcraft.jsch.PortWatcher].addSocket(com.jcraft.jsch.Session,String,int,String,com.jcraft.jsch.ServerSocketFactory)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PortWatcher.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector<com.jcraft.jsch.PortWatcher>].addElement(com.jcraft.jsch.PortWatcher)'
    - '[com.jcraft.jsch.PortWatcher].getPort(com.jcraft.jsch.Session,String,int)'
    - '[com.jcraft.jsch.PortWatcher].<init>(com.jcraft.jsch.Session,String,int,String,com.jcraft.jsch.ServerSocketFactory)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.PortWatcher].normalize(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.PortWatcher
    signature: '[com.jcraft.jsch.PortWatcher].addSocket(com.jcraft.jsch.Session,String,int,String,com.jcraft.jsch.ServerSocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.ServerSocket].accept()'
      Src: com.jcraft.jsch.PortWatcher:202,1
    - Dst: '[com.jcraft.jsch.PortWatcher].setTcpNoDelay(boolean)'
      Src: com.jcraft.jsch.PortWatcher:203,1
    - Dst: '[com.jcraft.jsch.PortWatcher].getInputStream()'
      Src: com.jcraft.jsch.PortWatcher:204,1
    - Dst: '[com.jcraft.jsch.PortWatcher].getOutputStream()'
      Src: com.jcraft.jsch.PortWatcher:205,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.PortWatcher:206,1
    - Dst: '[com.jcraft.jsch.ChannelDirectStreamLocal].<init>()'
      Src: com.jcraft.jsch.PortWatcher:207,1
    - Dst: '[com.jcraft.jsch.ChannelDirectStreamLocal].setSession(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.PortWatcher:208,1
    - Dst: '[com.jcraft.jsch.ChannelDirectStreamLocal].init()'
      Src: com.jcraft.jsch.PortWatcher:209,1
    - Dst: '[com.jcraft.jsch.ChannelDirectStreamLocal].setInputStream(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:210,1
    - Dst: '[com.jcraft.jsch.ChannelDirectStreamLocal].setOutputStream(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:211,1
    - Dst: '[com.jcraft.jsch.Session].addChannel(com.jcraft.jsch.ChannelDirectStreamLocal)'
      Src: com.jcraft.jsch.PortWatcher:212,1
    - Dst: '[com.jcraft.jsch.ChannelDirectStreamLocal].setSocketPath(String)'
      Src: com.jcraft.jsch.PortWatcher:213,1
    - Dst: '[com.jcraft.jsch.PortWatcher].getInetAddress()'
      Src: com.jcraft.jsch.PortWatcher:214,1
    - Dst: '[com.jcraft.jsch.PortWatcher].getHostAddress()'
      Src: com.jcraft.jsch.PortWatcher:214,1
    - Dst: '[com.jcraft.jsch.ChannelDirectStreamLocal].setOrgIPAddress(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:214,1
    - Dst: '[com.jcraft.jsch.PortWatcher].getPort()'
      Src: com.jcraft.jsch.PortWatcher:215,1
    - Dst: '[com.jcraft.jsch.ChannelDirectStreamLocal].setOrgPort(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:215,1
    - Dst: '[com.jcraft.jsch.ChannelDirectStreamLocal].connect(int)'
      Src: com.jcraft.jsch.PortWatcher:216,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].<init>()'
      Src: com.jcraft.jsch.PortWatcher:218,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].setSession(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.PortWatcher:219,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].init()'
      Src: com.jcraft.jsch.PortWatcher:220,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].setInputStream(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:221,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].setOutputStream(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:222,1
    - Dst: '[com.jcraft.jsch.Session].addChannel(com.jcraft.jsch.ChannelDirectTCPIP)'
      Src: com.jcraft.jsch.PortWatcher:223,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].setHost(String)'
      Src: com.jcraft.jsch.PortWatcher:224,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].setPort(int)'
      Src: com.jcraft.jsch.PortWatcher:225,1
    - Dst: '[com.jcraft.jsch.PortWatcher].getInetAddress()'
      Src: com.jcraft.jsch.PortWatcher:226,1
    - Dst: '[com.jcraft.jsch.PortWatcher].getHostAddress()'
      Src: com.jcraft.jsch.PortWatcher:226,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].setOrgIPAddress(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:226,1
    - Dst: '[com.jcraft.jsch.PortWatcher].getPort()'
      Src: com.jcraft.jsch.PortWatcher:227,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].setOrgPort(com.jcraft.jsch.PortWatcher)'
      Src: com.jcraft.jsch.PortWatcher:227,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].connect(int)'
      Src: com.jcraft.jsch.PortWatcher:228,1
    - Dst: '[com.jcraft.jsch.PortWatcher].delete()'
      Src: com.jcraft.jsch.PortWatcher:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<com.jcraft.jsch.PortWatcher>
      - java.net.InetAddress
      - com.jcraft.jsch.Session
      - int
      - int
      - String
      - java.net.InetAddress
      - Runnable
      - java.net.ServerSocket
      - int
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 237
    functionName: '[com.jcraft.jsch.PortWatcher].run()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PortWatcher.java
    functionUses: 0
    functionsReached:
    - '[String].length()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].connect(int)'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].<init>()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].setHost(String)'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].setOrgIPAddress(com.jcraft.jsch.PortWatcher)'
    - '[com.jcraft.jsch.PortWatcher].delete()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].setPort(int)'
    - '[com.jcraft.jsch.PortWatcher].getHostAddress()'
    - '[com.jcraft.jsch.ChannelDirectStreamLocal].setSocketPath(String)'
    - '[com.jcraft.jsch.Session].addChannel(com.jcraft.jsch.ChannelDirectTCPIP)'
    - '[com.jcraft.jsch.ChannelDirectStreamLocal].setOrgPort(com.jcraft.jsch.PortWatcher)'
    - '[com.jcraft.jsch.PortWatcher].getInetAddress()'
    - '[com.jcraft.jsch.ChannelDirectStreamLocal].setOrgIPAddress(com.jcraft.jsch.PortWatcher)'
    - '[com.jcraft.jsch.PortWatcher].getInputStream()'
    - '[com.jcraft.jsch.ChannelDirectStreamLocal].init()'
    - '[com.jcraft.jsch.PortWatcher].setTcpNoDelay(boolean)'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].setOrgPort(com.jcraft.jsch.PortWatcher)'
    - '[com.jcraft.jsch.ChannelDirectStreamLocal].<init>()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].setInputStream(com.jcraft.jsch.PortWatcher)'
    - '[com.jcraft.jsch.Session].addChannel(com.jcraft.jsch.ChannelDirectStreamLocal)'
    - '[com.jcraft.jsch.PortWatcher].getOutputStream()'
    - '[java.net.ServerSocket].accept()'
    - '[com.jcraft.jsch.ChannelDirectStreamLocal].setOutputStream(com.jcraft.jsch.PortWatcher)'
    - '[com.jcraft.jsch.PortWatcher].getPort()'
    - '[com.jcraft.jsch.ChannelDirectStreamLocal].connect(int)'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].setOutputStream(com.jcraft.jsch.PortWatcher)'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].init()'
    - '[com.jcraft.jsch.ChannelDirectStreamLocal].setSession(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].setSession(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.ChannelDirectStreamLocal].setInputStream(com.jcraft.jsch.PortWatcher)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PortWatcher].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.ServerSocket].close()'
      Src: com.jcraft.jsch.PortWatcher:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<com.jcraft.jsch.PortWatcher>
      - java.net.InetAddress
      - com.jcraft.jsch.Session
      - int
      - int
      - String
      - java.net.InetAddress
      - Runnable
      - java.net.ServerSocket
      - int
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: '[com.jcraft.jsch.PortWatcher].delete()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PortWatcher.java
    functionUses: 3
    functionsReached:
    - '[java.net.ServerSocket].close()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PortWatcher].delete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<com.jcraft.jsch.PortWatcher>
      - java.net.InetAddress
      - com.jcraft.jsch.Session
      - int
      - int
      - String
      - java.net.InetAddress
      - Runnable
      - java.net.ServerSocket
      - int
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connectTimeout
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: '[com.jcraft.jsch.PortWatcher].setConnectTimeout(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PortWatcher.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PortWatcher].setConnectTimeout(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.DHGEX384
      static: false
      superClass: com.jcraft.jsch.DHGEX
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.DHGEX384].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX384.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHGEX384
    signature: '[com.jcraft.jsch.DHGEX384].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.RequestPtyReq].setCode(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestPtyReq.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestPtyReq].setCode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 1
    argNames:
    - ttype
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[com.jcraft.jsch.RequestPtyReq].setTType(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestPtyReq.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestPtyReq].setTType(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 1
    argNames:
    - terminal_mode
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.RequestPtyReq].setTerminalMode(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestPtyReq.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestPtyReq].setTerminalMode(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 4
    argNames:
    - tcol
    - trow
    - twp
    - thp
    argTypes:
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.RequestPtyReq].setTSize(int,int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestPtyReq.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestPtyReq].setTSize(int,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.RequestPtyReq:57,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.RequestPtyReq:59,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.RequestPtyReq:60,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.RequestPtyReq:62,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestPtyReq:63,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.RequestPtyReq:64,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestPtyReq:64,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestPtyReq:65,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestPtyReq:65,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestPtyReq:66,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestPtyReq:67,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestPtyReq:67,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestPtyReq:68,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestPtyReq:69,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestPtyReq:70,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestPtyReq:71,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestPtyReq:72,1
    - Dst: '[com.jcraft.jsch.RequestPtyReq].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.RequestPtyReq:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 2
    argNames:
    - session
    - channel
    argTypes:
    - com.jcraft.jsch.Session
    - com.jcraft.jsch.Channel
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: '[com.jcraft.jsch.RequestPtyReq].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestPtyReq.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.RequestPtyReq].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestPtyReq].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.RequestPtyReq
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.RequestPtyReq].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestPtyReq.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.RequestPtyReq
    signature: '[com.jcraft.jsch.RequestPtyReq].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: '[com.jcraft.jsch.DHG17].G()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG17.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DHG17].G()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: '[com.jcraft.jsch.DHG17].P()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG17.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DHG17].P()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: '[com.jcraft.jsch.DHG17].sha_name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG17.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.DHG17].sha_name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHG17
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHG17].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG17.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHG17
    signature: '[com.jcraft.jsch.DHG17].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHEC384
      static: false
      superClass: com.jcraft.jsch.DHECN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.DHEC384].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHEC384.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHEC384
    signature: '[com.jcraft.jsch.DHEC384].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DH448
      static: false
      superClass: com.jcraft.jsch.DHXEC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.DH448].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DH448.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DH448
    signature: '[com.jcraft.jsch.DH448].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char)'
      Src: com.jcraft.jsch.ProxySOCKS5:52,1
    - Dst: '[String].indexOf(char)'
      Src: com.jcraft.jsch.ProxySOCKS5:54,1
    - Dst: '[String].substring(int,com.jcraft.jsch.ProxySOCKS5)'
      Src: com.jcraft.jsch.ProxySOCKS5:54,1
    - Dst: '[String].indexOf(char)'
      Src: com.jcraft.jsch.ProxySOCKS5:55,1
    - Dst: '[String].substring(int)'
      Src: com.jcraft.jsch.ProxySOCKS5:55,1
    - Dst: Integer.parseInt(com.jcraft.jsch.ProxySOCKS5)
      Src: com.jcraft.jsch.ProxySOCKS5:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ProxySOCKS5
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - proxy_host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: '[com.jcraft.jsch.ProxySOCKS5].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS5.java
    functionUses: 0
    functionsReached:
    - Integer.parseInt(com.jcraft.jsch.ProxySOCKS5)
    - '[String].substring(int)'
    - '[String].substring(int,com.jcraft.jsch.ProxySOCKS5)'
    - '[String].indexOf(char)'
    linkageType: ''
    returnType: com.jcraft.jsch.ProxySOCKS5
    signature: '[com.jcraft.jsch.ProxySOCKS5].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ProxySOCKS5
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - proxy_host
    - proxy_port
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[com.jcraft.jsch.ProxySOCKS5].<init>(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ProxySOCKS5
    signature: '[com.jcraft.jsch.ProxySOCKS5].<init>(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - user
    - passwd
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.ProxySOCKS5].setUserPasswd(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ProxySOCKS5].setUserPasswd(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].createSocket(String,int,int)'
      Src: com.jcraft.jsch.ProxySOCKS5:78,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: com.jcraft.jsch.ProxySOCKS5:80,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: com.jcraft.jsch.ProxySOCKS5:81,1
    - Dst: '[com.jcraft.jsch.SocketFactory].createSocket(String,int)'
      Src: com.jcraft.jsch.ProxySOCKS5:83,1
    - Dst: '[com.jcraft.jsch.SocketFactory].getInputStream(java.net.Socket)'
      Src: com.jcraft.jsch.ProxySOCKS5:84,1
    - Dst: '[com.jcraft.jsch.SocketFactory].getOutputStream(java.net.Socket)'
      Src: com.jcraft.jsch.ProxySOCKS5:85,1
    - Dst: '[java.net.Socket].setSoTimeout(int)'
      Src: com.jcraft.jsch.ProxySOCKS5:88,1
    - Dst: '[java.net.Socket].setTcpNoDelay(boolean)'
      Src: com.jcraft.jsch.ProxySOCKS5:90,1
    - Dst: '[java.io.OutputStream].write(com.jcraft.jsch.ProxySOCKS5,int,com.jcraft.jsch.ProxySOCKS5)'
      Src: com.jcraft.jsch.ProxySOCKS5:115,1
    - Dst: '[com.jcraft.jsch.ProxySOCKS5].fill(java.io.InputStream,com.jcraft.jsch.ProxySOCKS5,int)'
      Src: com.jcraft.jsch.ProxySOCKS5:124,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.ProxySOCKS5:152,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ProxySOCKS5:153,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.ProxySOCKS5:153,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.ProxySOCKS5,com.jcraft.jsch.ProxySOCKS5,com.jcraft.jsch.ProxySOCKS5)
      Src: com.jcraft.jsch.ProxySOCKS5:153,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.ProxySOCKS5:154,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.ProxySOCKS5:155,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ProxySOCKS5:156,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.ProxySOCKS5:156,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.ProxySOCKS5,com.jcraft.jsch.ProxySOCKS5,com.jcraft.jsch.ProxySOCKS5)
      Src: com.jcraft.jsch.ProxySOCKS5:156,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.ProxySOCKS5:157,1
    - Dst: '[java.io.OutputStream].write(com.jcraft.jsch.ProxySOCKS5,int,com.jcraft.jsch.ProxySOCKS5)'
      Src: com.jcraft.jsch.ProxySOCKS5:159,1
    - Dst: '[com.jcraft.jsch.ProxySOCKS5].fill(java.io.InputStream,com.jcraft.jsch.ProxySOCKS5,int)'
      Src: com.jcraft.jsch.ProxySOCKS5:170,1
    - Dst: '[java.net.Socket].close()'
      Src: com.jcraft.jsch.ProxySOCKS5:179,1
    - Dst: '[com.jcraft.jsch.JSchProxyException].<init>(String)'
      Src: com.jcraft.jsch.ProxySOCKS5:182,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ProxySOCKS5:205,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.ProxySOCKS5,com.jcraft.jsch.ProxySOCKS5,com.jcraft.jsch.ProxySOCKS5)
      Src: com.jcraft.jsch.ProxySOCKS5:209,1
    - Dst: '[java.io.OutputStream].write(com.jcraft.jsch.ProxySOCKS5,int,com.jcraft.jsch.ProxySOCKS5)'
      Src: com.jcraft.jsch.ProxySOCKS5:214,1
    - Dst: '[com.jcraft.jsch.ProxySOCKS5].fill(java.io.InputStream,com.jcraft.jsch.ProxySOCKS5,int)'
      Src: com.jcraft.jsch.ProxySOCKS5:237,1
    - Dst: '[java.net.Socket].close()'
      Src: com.jcraft.jsch.ProxySOCKS5:241,1
    - Dst: '[com.jcraft.jsch.JSchProxyException].<init>(String)'
      Src: com.jcraft.jsch.ProxySOCKS5:244,1
    - Dst: '[com.jcraft.jsch.ProxySOCKS5].fill(java.io.InputStream,com.jcraft.jsch.ProxySOCKS5,int)'
      Src: com.jcraft.jsch.ProxySOCKS5:250,1
    - Dst: '[com.jcraft.jsch.ProxySOCKS5].fill(java.io.InputStream,com.jcraft.jsch.ProxySOCKS5,int)'
      Src: com.jcraft.jsch.ProxySOCKS5:254,1
    - Dst: '[com.jcraft.jsch.ProxySOCKS5].fill(java.io.InputStream,com.jcraft.jsch.ProxySOCKS5,int)'
      Src: com.jcraft.jsch.ProxySOCKS5:256,1
    - Dst: '[com.jcraft.jsch.ProxySOCKS5].fill(java.io.InputStream,com.jcraft.jsch.ProxySOCKS5,int)'
      Src: com.jcraft.jsch.ProxySOCKS5:260,1
    - Dst: '[java.net.Socket].close()'
      Src: com.jcraft.jsch.ProxySOCKS5:269,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ProxySOCKS5:272,1
    - Dst: '[com.jcraft.jsch.JSchProxyException].<init>(com.jcraft.jsch.ProxySOCKS5,com.jcraft.jsch.ProxySOCKS5)'
      Src: com.jcraft.jsch.ProxySOCKS5:273,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 103
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.SocketFactory
      - String
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - socket_factory
    - host
    - port
    - timeout
    argTypes:
    - com.jcraft.jsch.SocketFactory
    - String
    - int
    - int
    constantsTouched: []
    func_position:
      end: 275
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 275
    functionName: '[com.jcraft.jsch.ProxySOCKS5].connect(com.jcraft.jsch.SocketFactory,String,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS5.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SocketFactory].getInputStream(java.net.Socket)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.SocketFactory].createSocket(String,int)'
    - '[com.jcraft.jsch.Util].createSocket(String,int,int)'
    - '[String].length()'
    - '[com.jcraft.jsch.JSchProxyException].<init>(com.jcraft.jsch.ProxySOCKS5,com.jcraft.jsch.ProxySOCKS5)'
    - '[com.jcraft.jsch.ProxySOCKS5].fill(java.io.InputStream,com.jcraft.jsch.ProxySOCKS5,int)'
    - '[java.net.Socket].close()'
    - '[java.net.Socket].getInputStream()'
    - '[com.jcraft.jsch.JSchProxyException].<init>(String)'
    - '[java.net.Socket].setSoTimeout(int)'
    - '[com.jcraft.jsch.SocketFactory].getOutputStream(java.net.Socket)'
    - e.toString()
    - '[java.io.OutputStream].write(com.jcraft.jsch.ProxySOCKS5,int,com.jcraft.jsch.ProxySOCKS5)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.ProxySOCKS5,com.jcraft.jsch.ProxySOCKS5,com.jcraft.jsch.ProxySOCKS5)
    - '[java.net.Socket].getOutputStream()'
    - '[java.net.Socket].setTcpNoDelay(boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ProxySOCKS5].connect(com.jcraft.jsch.SocketFactory,String,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: '[com.jcraft.jsch.ProxySOCKS5].getInputStream()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[com.jcraft.jsch.ProxySOCKS5].getInputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.OutputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: '[com.jcraft.jsch.ProxySOCKS5].getOutputStream()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.OutputStream
    signature: '[com.jcraft.jsch.ProxySOCKS5].getOutputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.Socket
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: '[com.jcraft.jsch.ProxySOCKS5].getSocket()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.Socket
    signature: '[com.jcraft.jsch.ProxySOCKS5].getSocket()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].close()'
      Src: com.jcraft.jsch.ProxySOCKS5:296,1
    - Dst: '[java.io.OutputStream].close()'
      Src: com.jcraft.jsch.ProxySOCKS5:298,1
    - Dst: '[java.net.Socket].close()'
      Src: com.jcraft.jsch.ProxySOCKS5:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: '[com.jcraft.jsch.ProxySOCKS5].close()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS5.java
    functionUses: 0
    functionsReached:
    - '[java.io.InputStream].close()'
    - '[java.io.OutputStream].close()'
    - '[java.net.Socket].close()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ProxySOCKS5].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: '[com.jcraft.jsch.ProxySOCKS5].getDefaultPort()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.ProxySOCKS5].getDefaultPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].read(byte[],com.jcraft.jsch.ProxySOCKS5,com.jcraft.jsch.ProxySOCKS5)'
      Src: com.jcraft.jsch.ProxySOCKS5:315,1
    - Dst: '[com.jcraft.jsch.JSchProxyException].<init>(String)'
      Src: com.jcraft.jsch.ProxySOCKS5:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - in
    - buf
    - len
    argTypes:
    - java.io.InputStream
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: '[com.jcraft.jsch.ProxySOCKS5].fill(java.io.InputStream,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS5.java
    functionUses: 0
    functionsReached:
    - '[java.io.InputStream].read(byte[],com.jcraft.jsch.ProxySOCKS5,com.jcraft.jsch.ProxySOCKS5)'
    - '[com.jcraft.jsch.JSchProxyException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ProxySOCKS5].fill(java.io.InputStream,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.SftpStatVFS
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '[com.jcraft.jsch.SftpStatVFS].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.SftpStatVFS
    signature: '[com.jcraft.jsch.SftpStatVFS].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpStatVFS].<init>()'
      Src: com.jcraft.jsch.SftpStatVFS:60,1
    - Dst: '[com.jcraft.jsch.Buffer].getLong()'
      Src: com.jcraft.jsch.SftpStatVFS:62,1
    - Dst: '[com.jcraft.jsch.Buffer].getLong()'
      Src: com.jcraft.jsch.SftpStatVFS:63,1
    - Dst: '[com.jcraft.jsch.Buffer].getLong()'
      Src: com.jcraft.jsch.SftpStatVFS:64,1
    - Dst: '[com.jcraft.jsch.Buffer].getLong()'
      Src: com.jcraft.jsch.SftpStatVFS:65,1
    - Dst: '[com.jcraft.jsch.Buffer].getLong()'
      Src: com.jcraft.jsch.SftpStatVFS:66,1
    - Dst: '[com.jcraft.jsch.Buffer].getLong()'
      Src: com.jcraft.jsch.SftpStatVFS:67,1
    - Dst: '[com.jcraft.jsch.Buffer].getLong()'
      Src: com.jcraft.jsch.SftpStatVFS:68,1
    - Dst: '[com.jcraft.jsch.Buffer].getLong()'
      Src: com.jcraft.jsch.SftpStatVFS:69,1
    - Dst: '[com.jcraft.jsch.Buffer].getLong()'
      Src: com.jcraft.jsch.SftpStatVFS:70,1
    - Dst: '[com.jcraft.jsch.Buffer].getLong()'
      Src: com.jcraft.jsch.SftpStatVFS:71,1
    - Dst: '[com.jcraft.jsch.Buffer].getLong()'
      Src: com.jcraft.jsch.SftpStatVFS:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.SftpStatVFS
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: '[com.jcraft.jsch.SftpStatVFS].getStatVFS(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.SftpStatVFS].<init>()'
    - '[com.jcraft.jsch.Buffer].getLong()'
    linkageType: ''
    returnType: com.jcraft.jsch.SftpStatVFS
    signature: '[com.jcraft.jsch.SftpStatVFS].getStatVFS(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: '[com.jcraft.jsch.SftpStatVFS].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.SftpStatVFS].getFragmentSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getFragmentSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '[com.jcraft.jsch.SftpStatVFS].getBlocks()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getBlocks()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '[com.jcraft.jsch.SftpStatVFS].getFreeBlocks()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getFreeBlocks()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: '[com.jcraft.jsch.SftpStatVFS].getAvailBlocks()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getAvailBlocks()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '[com.jcraft.jsch.SftpStatVFS].getINodes()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getINodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '[com.jcraft.jsch.SftpStatVFS].getFreeINodes()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getFreeINodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: '[com.jcraft.jsch.SftpStatVFS].getAvailINodes()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getAvailINodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: '[com.jcraft.jsch.SftpStatVFS].getFileSystemID()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getFileSystemID()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: '[com.jcraft.jsch.SftpStatVFS].getMountFlag()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getMountFlag()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: '[com.jcraft.jsch.SftpStatVFS].getMaximumFilenameLength()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getMaximumFilenameLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpStatVFS].getFragmentSize()'
      Src: com.jcraft.jsch.SftpStatVFS:125,1
    - Dst: '[com.jcraft.jsch.SftpStatVFS].getBlocks()'
      Src: com.jcraft.jsch.SftpStatVFS:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '[com.jcraft.jsch.SftpStatVFS].getSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpStatVFS].getBlocks()'
    - '[com.jcraft.jsch.SftpStatVFS].getFragmentSize()'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpStatVFS].getFragmentSize()'
      Src: com.jcraft.jsch.SftpStatVFS:129,1
    - Dst: '[com.jcraft.jsch.SftpStatVFS].getBlocks()'
      Src: com.jcraft.jsch.SftpStatVFS:129,1
    - Dst: '[com.jcraft.jsch.SftpStatVFS].getFreeBlocks()'
      Src: com.jcraft.jsch.SftpStatVFS:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: '[com.jcraft.jsch.SftpStatVFS].getUsed()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpStatVFS].getBlocks()'
    - '[com.jcraft.jsch.SftpStatVFS].getFragmentSize()'
    - '[com.jcraft.jsch.SftpStatVFS].getFreeBlocks()'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getUsed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpStatVFS].getFragmentSize()'
      Src: com.jcraft.jsch.SftpStatVFS:133,1
    - Dst: '[com.jcraft.jsch.SftpStatVFS].getAvailBlocks()'
      Src: com.jcraft.jsch.SftpStatVFS:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: '[com.jcraft.jsch.SftpStatVFS].getAvailForNonRoot()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpStatVFS].getFragmentSize()'
    - '[com.jcraft.jsch.SftpStatVFS].getAvailBlocks()'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getAvailForNonRoot()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpStatVFS].getFragmentSize()'
      Src: com.jcraft.jsch.SftpStatVFS:137,1
    - Dst: '[com.jcraft.jsch.SftpStatVFS].getFreeBlocks()'
      Src: com.jcraft.jsch.SftpStatVFS:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: '[com.jcraft.jsch.SftpStatVFS].getAvail()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpStatVFS].getFragmentSize()'
    - '[com.jcraft.jsch.SftpStatVFS].getFreeBlocks()'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.SftpStatVFS].getAvail()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpStatVFS].getBlocks()'
      Src: com.jcraft.jsch.SftpStatVFS:141,1
    - Dst: '[com.jcraft.jsch.SftpStatVFS].getFreeBlocks()'
      Src: com.jcraft.jsch.SftpStatVFS:141,1
    - Dst: '[com.jcraft.jsch.SftpStatVFS].getBlocks()'
      Src: com.jcraft.jsch.SftpStatVFS:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - int
      - long
      - int
      - int
      - int
      - int
      - int
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: '[com.jcraft.jsch.SftpStatVFS].getCapacity()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpStatVFS].getBlocks()'
    - '[com.jcraft.jsch.SftpStatVFS].getFreeBlocks()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.SftpStatVFS].getCapacity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestX11:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.RequestX11].setCookie(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestX11.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestX11].setCookie(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.RequestX11:36,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.RequestX11:38,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.RequestX11:39,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.RequestX11:49,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestX11:50,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.RequestX11:51,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestX11:51,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestX11:52,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestX11:52,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestX11:53,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestX11:54,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestX11:55,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestX11:55,1
    - Dst: '[com.jcraft.jsch.ChannelX11].getFakedCookie(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.RequestX11:56,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestX11:56,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestX11:57,1
    - Dst: '[com.jcraft.jsch.RequestX11].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.RequestX11:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 2
    argNames:
    - session
    - channel
    argTypes:
    - com.jcraft.jsch.Session
    - com.jcraft.jsch.Channel
    constantsTouched: []
    func_position:
      end: 61
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 61
    functionName: '[com.jcraft.jsch.RequestX11].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestX11.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.ChannelX11].getFakedCookie(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.RequestX11].write(com.jcraft.jsch.Packet)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestX11].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.RequestX11
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.RequestX11].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestX11.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.RequestX11
    signature: '[com.jcraft.jsch.RequestX11].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHEC384MLKEM1024
      static: false
      superClass: com.jcraft.jsch.DHECNKEM
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.DHEC384MLKEM1024].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHEC384MLKEM1024.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHEC384MLKEM1024
    signature: '[com.jcraft.jsch.DHEC384MLKEM1024].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - int
      - boolean
      - byte[]
      - byte[]
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - byte[]
      - java.net.Socket
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: '[com.jcraft.jsch.ChannelX11].revtable(byte)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelX11.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.ChannelX11].revtable(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelX11:65,1
    - Dst: '[com.jcraft.jsch.ChannelX11].revtable()'
      Src: com.jcraft.jsch.ChannelX11:68,1
    - Dst: '[com.jcraft.jsch.ChannelX11].revtable()'
      Src: com.jcraft.jsch.ChannelX11:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - int
      - boolean
      - byte[]
      - byte[]
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - byte[]
      - java.net.Socket
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - foo
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.ChannelX11].setCookie(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelX11.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.ChannelX11].revtable()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelX11].setCookie(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - int
      - boolean
      - byte[]
      - byte[]
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - byte[]
      - java.net.Socket
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - foo
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: '[com.jcraft.jsch.ChannelX11].setHost(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelX11.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelX11].setHost(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - int
      - boolean
      - byte[]
      - byte[]
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - byte[]
      - java.net.Socket
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - foo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '[com.jcraft.jsch.ChannelX11].setPort(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelX11.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelX11].setPort(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Hashtable<com.jcraft.jsch.Session,byte[]>].get(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.ChannelX11:83,1
    - Dst: random.fill(com.jcraft.jsch.ChannelX11,int,int)
      Src: com.jcraft.jsch.ChannelX11:88,1
    - Dst: '[java.util.Hashtable<com.jcraft.jsch.Session,byte[]>].put(com.jcraft.jsch.Session,com.jcraft.jsch.ChannelX11)'
      Src: com.jcraft.jsch.ChannelX11:94,1
    - Dst: '[java.util.Hashtable<com.jcraft.jsch.Session,byte[]>].put(com.jcraft.jsch.Session,com.jcraft.jsch.ChannelX11)'
      Src: com.jcraft.jsch.ChannelX11:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - int
      - boolean
      - byte[]
      - byte[]
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - byte[]
      - java.net.Socket
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 105
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 105
    functionName: '[com.jcraft.jsch.ChannelX11].getFakedCookie(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelX11.java
    functionUses: 1
    functionsReached:
    - random.fill(com.jcraft.jsch.ChannelX11,int,int)
    - '[java.util.Hashtable<com.jcraft.jsch.Session,byte[]>].put(com.jcraft.jsch.Session,com.jcraft.jsch.ChannelX11)'
    - '[java.util.Hashtable<com.jcraft.jsch.Session,byte[]>].get(com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.ChannelX11].getFakedCookie(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Hashtable<com.jcraft.jsch.Session,byte[]>].remove(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.ChannelX11:109,1
    - Dst: '[java.util.Hashtable<com.jcraft.jsch.Session,byte[]>].remove(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.ChannelX11:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - int
      - boolean
      - byte[]
      - byte[]
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - byte[]
      - java.net.Socket
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: '[com.jcraft.jsch.ChannelX11].removeFakedCookie(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelX11.java
    functionUses: 0
    functionsReached:
    - '[java.util.Hashtable<com.jcraft.jsch.Session,byte[]>].remove(com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelX11].removeFakedCookie(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Hashtable].<init>()'
      Src: com.jcraft.jsch.ChannelX11:48,1
    - Dst: '[java.util.Hashtable].<init>()'
      Src: com.jcraft.jsch.ChannelX11:49,1
    - Dst: '[com.jcraft.jsch.Channel].<init>()'
      Src: com.jcraft.jsch.ChannelX11:115,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelX11:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - int
      - boolean
      - byte[]
      - byte[]
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - byte[]
      - java.net.Socket
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.ChannelX11
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: '[com.jcraft.jsch.ChannelX11].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelX11.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Channel].<init>()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[java.util.Hashtable].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelX11
    signature: '[com.jcraft.jsch.ChannelX11].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].createSocket(String,int,int)'
      Src: com.jcraft.jsch.ChannelX11:135,1
    - Dst: '[java.net.Socket].setTcpNoDelay(boolean)'
      Src: com.jcraft.jsch.ChannelX11:136,1
    - Dst: '[com.jcraft.jsch.IO].<init>()'
      Src: com.jcraft.jsch.ChannelX11:137,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: com.jcraft.jsch.ChannelX11:138,1
    - Dst: '[com.jcraft.jsch.IO].setInputStream(com.jcraft.jsch.ChannelX11)'
      Src: com.jcraft.jsch.ChannelX11:138,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: com.jcraft.jsch.ChannelX11:139,1
    - Dst: '[com.jcraft.jsch.IO].setOutputStream(com.jcraft.jsch.ChannelX11)'
      Src: com.jcraft.jsch.ChannelX11:139,1
    - Dst: '[com.jcraft.jsch.ChannelX11].sendOpenConfirmation()'
      Src: com.jcraft.jsch.ChannelX11:140,1
    - Dst: '[com.jcraft.jsch.ChannelX11].sendOpenFailure(com.jcraft.jsch.ChannelX11)'
      Src: com.jcraft.jsch.ChannelX11:142,1
    - Dst: '[com.jcraft.jsch.ChannelX11].disconnect()'
      Src: com.jcraft.jsch.ChannelX11:144,1
    - Dst: Thread.currentThread()
      Src: com.jcraft.jsch.ChannelX11:148,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelX11)'
      Src: com.jcraft.jsch.ChannelX11:149,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelX11:150,1
    - Dst: '[com.jcraft.jsch.ChannelX11].getSession()'
      Src: com.jcraft.jsch.ChannelX11:153,1
    - Dst: '[com.jcraft.jsch.ChannelX11].getBufferMargin()'
      Src: com.jcraft.jsch.ChannelX11:155,1
    - Dst: '[java.io.InputStream].read(byte[],int,com.jcraft.jsch.ChannelX11)'
      Src: com.jcraft.jsch.ChannelX11:155,1
    - Dst: '[com.jcraft.jsch.ChannelX11].eof()'
      Src: com.jcraft.jsch.ChannelX11:157,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelX11:162,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelX11:163,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelX11)'
      Src: com.jcraft.jsch.ChannelX11:164,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelX11)'
      Src: com.jcraft.jsch.ChannelX11:165,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.ChannelX11)'
      Src: com.jcraft.jsch.ChannelX11:166,1
    - Dst: '[com.jcraft.jsch.ChannelX11].write(com.jcraft.jsch.Packet,com.jcraft.jsch.ChannelX11)'
      Src: com.jcraft.jsch.ChannelX11:167,1
    - Dst: '[com.jcraft.jsch.ChannelX11].disconnect()'
      Src: com.jcraft.jsch.ChannelX11:172,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - int
      - boolean
      - byte[]
      - byte[]
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - byte[]
      - java.net.Socket
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 173
    functionName: '[com.jcraft.jsch.ChannelX11].run()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelX11.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].createSocket(String,int,int)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.ChannelX11].eof()'
    - '[java.net.Socket].setTcpNoDelay(boolean)'
    - '[com.jcraft.jsch.ChannelX11].getSession()'
    - '[com.jcraft.jsch.IO].setInputStream(com.jcraft.jsch.ChannelX11)'
    - '[com.jcraft.jsch.ChannelX11].getBufferMargin()'
    - Thread.currentThread()
    - '[com.jcraft.jsch.ChannelX11].sendOpenConfirmation()'
    - '[java.net.Socket].getOutputStream()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelX11)'
    - '[java.io.InputStream].read(byte[],int,com.jcraft.jsch.ChannelX11)'
    - '[com.jcraft.jsch.IO].setOutputStream(com.jcraft.jsch.ChannelX11)'
    - '[com.jcraft.jsch.IO].<init>()'
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelX11)'
    - '[com.jcraft.jsch.ChannelX11].sendOpenFailure(com.jcraft.jsch.ChannelX11)'
    - '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.ChannelX11)'
    - '[java.net.Socket].getInputStream()'
    - '[com.jcraft.jsch.ChannelX11].write(com.jcraft.jsch.Packet,com.jcraft.jsch.ChannelX11)'
    - '[com.jcraft.jsch.ChannelX11].disconnect()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelX11].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.ChannelX11,com.jcraft.jsch.ChannelX11,int)
      Src: com.jcraft.jsch.ChannelX11:179,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.ChannelX11,int,com.jcraft.jsch.ChannelX11)
      Src: com.jcraft.jsch.ChannelX11:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - int
      - boolean
      - byte[]
      - byte[]
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - byte[]
      - java.net.Socket
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 3
    argNames:
    - foo
    - s
    - l
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: '[com.jcraft.jsch.ChannelX11].addCache(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelX11.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.ChannelX11,int,com.jcraft.jsch.ChannelX11)
    - System.arraycopy(byte[],int,com.jcraft.jsch.ChannelX11,com.jcraft.jsch.ChannelX11,int)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.ChannelX11].addCache(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelX11].getSession()'
      Src: com.jcraft.jsch.ChannelX11:194,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelX11:196,1
    - Dst: '[java.io.IOException].<init>(com.jcraft.jsch.ChannelX11,com.jcraft.jsch.ChannelX11)'
      Src: com.jcraft.jsch.ChannelX11:196,1
    - Dst: '[com.jcraft.jsch.ChannelX11].addCache(byte[],int,int)'
      Src: com.jcraft.jsch.ChannelX11:199,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.ChannelX11,com.jcraft.jsch.ChannelX11,int,com.jcraft.jsch.ChannelX11)
      Src: com.jcraft.jsch.ChannelX11:221,1
    - Dst: '[java.util.Hashtable<com.jcraft.jsch.Session,byte[]>].get(com.jcraft.jsch.ChannelX11)'
      Src: com.jcraft.jsch.ChannelX11:225,1
    - Dst: '[com.jcraft.jsch.ChannelX11].equals(com.jcraft.jsch.ChannelX11,com.jcraft.jsch.ChannelX11)'
      Src: com.jcraft.jsch.ChannelX11:235,1
    - Dst: System.arraycopy(byte[],int,byte[],com.jcraft.jsch.ChannelX11,com.jcraft.jsch.ChannelX11)
      Src: com.jcraft.jsch.ChannelX11:237,1
    - Dst: '[com.jcraft.jsch.ChannelX11].eof()'
      Src: com.jcraft.jsch.ChannelX11:241,1
    - Dst: io.close()
      Src: com.jcraft.jsch.ChannelX11:242,1
    - Dst: '[com.jcraft.jsch.ChannelX11].disconnect()'
      Src: com.jcraft.jsch.ChannelX11:243,1
    - Dst: io.put(byte[],com.jcraft.jsch.ChannelX11,com.jcraft.jsch.ChannelX11)
      Src: com.jcraft.jsch.ChannelX11:246,1
    - Dst: io.put(byte[],com.jcraft.jsch.ChannelX11,com.jcraft.jsch.ChannelX11)
      Src: com.jcraft.jsch.ChannelX11:250,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - int
      - boolean
      - byte[]
      - byte[]
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - byte[]
      - java.net.Socket
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 3
    argNames:
    - foo
    - s
    - l
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 251
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 251
    functionName: '[com.jcraft.jsch.ChannelX11].write(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelX11.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(com.jcraft.jsch.ChannelX11,com.jcraft.jsch.ChannelX11)'
    - System.arraycopy(byte[],int,byte[],com.jcraft.jsch.ChannelX11,com.jcraft.jsch.ChannelX11)
    - io.put(byte[],com.jcraft.jsch.ChannelX11,com.jcraft.jsch.ChannelX11)
    - '[com.jcraft.jsch.ChannelX11].addCache(byte[],int,int)'
    - io.close()
    - '[java.util.Hashtable<com.jcraft.jsch.Session,byte[]>].get(com.jcraft.jsch.ChannelX11)'
    - '[com.jcraft.jsch.ChannelX11].eof()'
    - System.arraycopy(byte[],com.jcraft.jsch.ChannelX11,com.jcraft.jsch.ChannelX11,int,com.jcraft.jsch.ChannelX11)
    - e.toString()
    - '[com.jcraft.jsch.ChannelX11].equals(com.jcraft.jsch.ChannelX11,com.jcraft.jsch.ChannelX11)'
    - '[com.jcraft.jsch.ChannelX11].disconnect()'
    - '[com.jcraft.jsch.ChannelX11].getSession()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelX11].write(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - int
      - boolean
      - byte[]
      - byte[]
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - java.util.Hashtable<com.jcraft.jsch.Session,byte[]>
      - byte[]
      - java.net.Socket
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 2
    argNames:
    - foo
    - bar
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: '[com.jcraft.jsch.ChannelX11].equals(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelX11.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.ChannelX11].equals(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char)'
      Src: com.jcraft.jsch.ProxyHTTP:48,1
    - Dst: '[String].indexOf(char)'
      Src: com.jcraft.jsch.ProxyHTTP:50,1
    - Dst: '[String].substring(int,com.jcraft.jsch.ProxyHTTP)'
      Src: com.jcraft.jsch.ProxyHTTP:50,1
    - Dst: '[String].indexOf(char)'
      Src: com.jcraft.jsch.ProxyHTTP:51,1
    - Dst: '[String].substring(int)'
      Src: com.jcraft.jsch.ProxyHTTP:51,1
    - Dst: Integer.parseInt(com.jcraft.jsch.ProxyHTTP)
      Src: com.jcraft.jsch.ProxyHTTP:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ProxyHTTP
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - proxy_host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: '[com.jcraft.jsch.ProxyHTTP].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxyHTTP.java
    functionUses: 0
    functionsReached:
    - '[String].substring(int)'
    - '[String].substring(int,com.jcraft.jsch.ProxyHTTP)'
    - Integer.parseInt(com.jcraft.jsch.ProxyHTTP)
    - '[String].indexOf(char)'
    linkageType: ''
    returnType: com.jcraft.jsch.ProxyHTTP
    signature: '[com.jcraft.jsch.ProxyHTTP].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ProxyHTTP
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - proxy_host
    - proxy_port
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[com.jcraft.jsch.ProxyHTTP].<init>(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxyHTTP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ProxyHTTP
    signature: '[com.jcraft.jsch.ProxyHTTP].<init>(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - user
    - passwd
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[com.jcraft.jsch.ProxyHTTP].setUserPasswd(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxyHTTP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ProxyHTTP].setUserPasswd(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].createSocket(String,int,int)'
      Src: com.jcraft.jsch.ProxyHTTP:74,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: com.jcraft.jsch.ProxyHTTP:75,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: com.jcraft.jsch.ProxyHTTP:76,1
    - Dst: '[com.jcraft.jsch.SocketFactory].createSocket(String,int)'
      Src: com.jcraft.jsch.ProxyHTTP:78,1
    - Dst: '[com.jcraft.jsch.SocketFactory].getInputStream(java.net.Socket)'
      Src: com.jcraft.jsch.ProxyHTTP:79,1
    - Dst: '[com.jcraft.jsch.SocketFactory].getOutputStream(java.net.Socket)'
      Src: com.jcraft.jsch.ProxyHTTP:80,1
    - Dst: '[java.net.Socket].setSoTimeout(int)'
      Src: com.jcraft.jsch.ProxyHTTP:83,1
    - Dst: '[java.net.Socket].setTcpNoDelay(boolean)'
      Src: com.jcraft.jsch.ProxyHTTP:85,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ProxyHTTP:87,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.ProxyHTTP:87,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ProxyHTTP)'
      Src: com.jcraft.jsch.ProxyHTTP:90,1
    - Dst: '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.ProxyHTTP,boolean)'
      Src: com.jcraft.jsch.ProxyHTTP:91,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ProxyHTTP:92,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.ProxyHTTP:92,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.ProxyHTTP:93,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ProxyHTTP:94,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.ProxyHTTP:94,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ProxyHTTP:97,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.ProxyHTTP:97,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: com.jcraft.jsch.ProxyHTTP:98,1
    - Dst: '[StringBuilder].<init>()'
      Src: com.jcraft.jsch.ProxyHTTP:102,1
    - Dst: '[java.io.InputStream].read()'
      Src: com.jcraft.jsch.ProxyHTTP:104,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.ProxyHTTP:106,1
    - Dst: '[java.io.InputStream].read()'
      Src: com.jcraft.jsch.ProxyHTTP:109,1
    - Dst: '[java.io.IOException].<init>()'
      Src: com.jcraft.jsch.ProxyHTTP:116,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.ProxyHTTP:119,1
    - Dst: '[com.jcraft.jsch.ProxyHTTP].indexOf(char)'
      Src: com.jcraft.jsch.ProxyHTTP:123,1
    - Dst: '[com.jcraft.jsch.ProxyHTTP].indexOf(char,int)'
      Src: com.jcraft.jsch.ProxyHTTP:124,1
    - Dst: '[com.jcraft.jsch.ProxyHTTP].substring(int,com.jcraft.jsch.ProxyHTTP)'
      Src: com.jcraft.jsch.ProxyHTTP:125,1
    - Dst: Integer.parseInt(com.jcraft.jsch.ProxyHTTP)
      Src: com.jcraft.jsch.ProxyHTTP:125,1
    - Dst: '[com.jcraft.jsch.ProxyHTTP].substring(int)'
      Src: com.jcraft.jsch.ProxyHTTP:126,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.ProxyHTTP:130,1
    - Dst: '[java.io.InputStream].read()'
      Src: com.jcraft.jsch.ProxyHTTP:142,1
    - Dst: '[java.io.InputStream].read()'
      Src: com.jcraft.jsch.ProxyHTTP:147,1
    - Dst: '[java.io.IOException].<init>()'
      Src: com.jcraft.jsch.ProxyHTTP:154,1
    - Dst: '[java.net.Socket].close()'
      Src: com.jcraft.jsch.ProxyHTTP:164,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ProxyHTTP:167,1
    - Dst: '[com.jcraft.jsch.JSchProxyException].<init>(com.jcraft.jsch.ProxyHTTP,com.jcraft.jsch.ProxyHTTP)'
      Src: com.jcraft.jsch.ProxyHTTP:168,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 83
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.SocketFactory
      - String
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - socket_factory
    - host
    - port
    - timeout
    argTypes:
    - com.jcraft.jsch.SocketFactory
    - String
    - int
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 170
    functionName: '[com.jcraft.jsch.ProxyHTTP].connect(com.jcraft.jsch.SocketFactory,String,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxyHTTP.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ProxyHTTP)'
    - '[com.jcraft.jsch.Util].createSocket(String,int,int)'
    - '[java.io.OutputStream].flush()'
    - '[java.net.Socket].close()'
    - '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.ProxyHTTP,boolean)'
    - '[java.io.OutputStream].write(byte[])'
    - '[com.jcraft.jsch.ProxyHTTP].substring(int)'
    - '[java.net.Socket].setTcpNoDelay(boolean)'
    - '[com.jcraft.jsch.SocketFactory].getInputStream(java.net.Socket)'
    - '[com.jcraft.jsch.ProxyHTTP].indexOf(char)'
    - '[com.jcraft.jsch.SocketFactory].createSocket(String,int)'
    - e.toString()
    - '[java.net.Socket].getOutputStream()'
    - '[com.jcraft.jsch.ProxyHTTP].substring(int,com.jcraft.jsch.ProxyHTTP)'
    - '[StringBuilder].<init>()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[java.net.Socket].setSoTimeout(int)'
    - '[StringBuilder].append(char)'
    - Integer.parseInt(com.jcraft.jsch.ProxyHTTP)
    - '[java.io.IOException].<init>(String)'
    - '[StringBuilder].toString()'
    - '[java.io.IOException].<init>()'
    - '[java.net.Socket].getInputStream()'
    - '[com.jcraft.jsch.SocketFactory].getOutputStream(java.net.Socket)'
    - '[java.io.InputStream].read()'
    - '[com.jcraft.jsch.ProxyHTTP].indexOf(char,int)'
    - '[com.jcraft.jsch.JSchProxyException].<init>(com.jcraft.jsch.ProxyHTTP,com.jcraft.jsch.ProxyHTTP)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ProxyHTTP].connect(com.jcraft.jsch.SocketFactory,String,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: '[com.jcraft.jsch.ProxyHTTP].getInputStream()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxyHTTP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[com.jcraft.jsch.ProxyHTTP].getInputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.OutputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: '[com.jcraft.jsch.ProxyHTTP].getOutputStream()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxyHTTP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.OutputStream
    signature: '[com.jcraft.jsch.ProxyHTTP].getOutputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.Socket
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '[com.jcraft.jsch.ProxyHTTP].getSocket()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxyHTTP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.Socket
    signature: '[com.jcraft.jsch.ProxyHTTP].getSocket()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].close()'
      Src: com.jcraft.jsch.ProxyHTTP:191,1
    - Dst: '[java.io.OutputStream].close()'
      Src: com.jcraft.jsch.ProxyHTTP:193,1
    - Dst: '[java.net.Socket].close()'
      Src: com.jcraft.jsch.ProxyHTTP:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: '[com.jcraft.jsch.ProxyHTTP].close()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxyHTTP.java
    functionUses: 0
    functionsReached:
    - '[java.io.InputStream].close()'
    - '[java.io.OutputStream].close()'
    - '[java.net.Socket].close()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ProxyHTTP].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: '[com.jcraft.jsch.ProxyHTTP].getDefaultPort()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxyHTTP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.ProxyHTTP].getDefaultPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].getUserInfo()'
      Src: com.jcraft.jsch.UserAuth:44,1
    - Dst: '[com.jcraft.jsch.Packet].getBuffer()'
      Src: com.jcraft.jsch.UserAuth:46,1
    - Dst: '[com.jcraft.jsch.Session].getUserName()'
      Src: com.jcraft.jsch.UserAuth:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.UserInfo
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: '[com.jcraft.jsch.UserAuth].start(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuth.java
    functionUses: 5
    functionsReached:
    - '[com.jcraft.jsch.Session].getUserName()'
    - '[com.jcraft.jsch.Session].getUserInfo()'
    - '[com.jcraft.jsch.Packet].getBuffer()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.UserAuth].start(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.UserInfo
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.UserAuth
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.UserAuth].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuth.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.UserAuth
    signature: '[com.jcraft.jsch.UserAuth].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: false
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - session
    - V_S
    - V_C
    - I_S
    - I_C
    argTypes:
    - com.jcraft.jsch.Session
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: '[com.jcraft.jsch.KeyExchange].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchange].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchange].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
      Src: com.jcraft.jsch.KeyExchange:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - session
    - V_S
    - V_C
    - I_S
    - I_C
    argTypes:
    - com.jcraft.jsch.Session
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[com.jcraft.jsch.KeyExchange].doInit(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchange].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchange].doInit(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: false
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.KeyExchange].next(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyExchange].next(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '[com.jcraft.jsch.KeyExchange].getState()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyExchange].getState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: '[com.jcraft.jsch.KeyExchange].getKeyType()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KeyExchange].getKeyType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: '[com.jcraft.jsch.KeyExchange].getKeyAlgorithName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KeyExchange].getKeyAlgorithName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyExchange:107,1
    - Dst: '[com.jcraft.jsch.Buffer].setOffSet(int)'
      Src: com.jcraft.jsch.KeyExchange:108,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyExchange:109,1
    - Dst: '[com.jcraft.jsch.Buffer].setOffSet(int)'
      Src: com.jcraft.jsch.KeyExchange:110,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:112,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:112,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:114,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyExchange:115,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyExchange:115,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:114,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:118,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyExchange:119,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyExchange:119,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:118,1
    - Dst: '[com.jcraft.jsch.Buffer].setOffSet(int)'
      Src: com.jcraft.jsch.KeyExchange:121,1
    - Dst: '[com.jcraft.jsch.Buffer].setOffSet(int)'
      Src: com.jcraft.jsch.KeyExchange:122,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyExchange:126,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyExchange:127,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyExchange:135,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyExchange:135,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailException].<init>(com.jcraft.jsch.KeyExchange,String,String)'
      Src: com.jcraft.jsch.KeyExchange:135,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:136,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyExchange:143,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyExchange:143,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailException].<init>(com.jcraft.jsch.KeyExchange,String,String)'
      Src: com.jcraft.jsch.KeyExchange:143,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:144,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyExchange:144,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyExchange:157,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyExchange:157,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailException].<init>(com.jcraft.jsch.KeyExchange,String,String)'
      Src: com.jcraft.jsch.KeyExchange:157,1
    - Dst: '[com.jcraft.jsch.Session].getConfig()'
      Src: com.jcraft.jsch.KeyExchange:165,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyExchange:165,1
    - Dst: '[com.jcraft.jsch.KeyExchange].asSubclass()'
      Src: com.jcraft.jsch.KeyExchange:165,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyExchange:166,1
    - Dst: '[com.jcraft.jsch.KeyExchange].newInstance()'
      Src: com.jcraft.jsch.KeyExchange:166,1
    - Dst: '[com.jcraft.jsch.KeyExchange].isAEAD()'
      Src: com.jcraft.jsch.KeyExchange:167,1
    - Dst: '[com.jcraft.jsch.Session].getConfig()'
      Src: com.jcraft.jsch.KeyExchange:173,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyExchange:173,1
    - Dst: '[com.jcraft.jsch.KeyExchange].asSubclass()'
      Src: com.jcraft.jsch.KeyExchange:173,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyExchange:174,1
    - Dst: '[com.jcraft.jsch.KeyExchange].newInstance()'
      Src: com.jcraft.jsch.KeyExchange:174,1
    - Dst: '[com.jcraft.jsch.KeyExchange].isAEAD()'
      Src: com.jcraft.jsch.KeyExchange:175,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.KeyExchange:180,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:180,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:183,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:183,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:184,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,String)'
      Src: com.jcraft.jsch.KeyExchange:184,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:185,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,String)'
      Src: com.jcraft.jsch.KeyExchange:185,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:187,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:187,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:191,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:191,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 109
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - session
    - I_S
    - I_C
    argTypes:
    - com.jcraft.jsch.Session
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 198
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 198
    functionName: '[com.jcraft.jsch.KeyExchange].guess(com.jcraft.jsch.Session,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,String)'
    - '[com.jcraft.jsch.KeyExchange].getDeclaredConstructor()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[com.jcraft.jsch.JSchAlgoNegoFailException].<init>(com.jcraft.jsch.KeyExchange,String,String)'
    - '[com.jcraft.jsch.Session].getConfig()'
    - '[com.jcraft.jsch.KeyExchange].asSubclass()'
    - '[String].equals(String)'
    - e.toString()
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.Buffer].setOffSet(int)'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.KeyExchange].newInstance()'
    - '[com.jcraft.jsch.KeyExchange].isAEAD()'
    - Class.forName(String)
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.KeyExchange].guess(com.jcraft.jsch.Session,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.KeyExchange:203,1
    - Dst: '[String].toLowerCase(com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:203,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:204,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyExchange:204,1
    - Dst: '[com.jcraft.jsch.KeyExchange].asSubclass()'
      Src: com.jcraft.jsch.KeyExchange:204,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyExchange:205,1
    - Dst: '[com.jcraft.jsch.KeyExchange].newInstance()'
      Src: com.jcraft.jsch.KeyExchange:205,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:207,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:207,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:208,1
    - Dst: e.getMessage()
      Src: com.jcraft.jsch.KeyExchange:208,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,String,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:208,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getHostKey()'
      Src: com.jcraft.jsch.KeyExchange:211,1
    - Dst: '[com.jcraft.jsch.Util].getFingerPrint(com.jcraft.jsch.KeyExchange,byte[],boolean,boolean)'
      Src: com.jcraft.jsch.KeyExchange:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: '[com.jcraft.jsch.KeyExchange].getFingerPrint()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.KeyExchange].newInstance()'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.Session].getConfig(com.jcraft.jsch.KeyExchange)'
    - e.getMessage()
    - '[com.jcraft.jsch.KeyExchange].getDeclaredConstructor()'
    - '[String].toLowerCase(com.jcraft.jsch.KeyExchange)'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyExchange].getHostKey()'
    - '[com.jcraft.jsch.KeyExchange].asSubclass()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,String,com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.Util].getFingerPrint(com.jcraft.jsch.KeyExchange,byte[],boolean,boolean)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KeyExchange].getFingerPrint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: '[com.jcraft.jsch.KeyExchange].getK()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyExchange].getK()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyExchange:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: '[com.jcraft.jsch.KeyExchange].clearK()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyExchange].clearK()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: '[com.jcraft.jsch.KeyExchange].getH()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyExchange].getH()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HASH
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: '[com.jcraft.jsch.KeyExchange].getHash()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.HASH
    signature: '[com.jcraft.jsch.KeyExchange].getHash()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: '[com.jcraft.jsch.KeyExchange].getHostKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyExchange].getHostKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
      Src: com.jcraft.jsch.KeyExchange:287,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
      Src: com.jcraft.jsch.KeyExchange:288,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyExchange:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - secret
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 291
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 291
    functionName: '[com.jcraft.jsch.KeyExchange].normalize(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
    - System.arraycopy(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyExchange].normalize(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyExchange:299,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
      Src: com.jcraft.jsch.KeyExchange:310,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
      Src: com.jcraft.jsch.KeyExchange:316,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyExchange:321,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyExchange:322,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyExchange:322,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.KeyExchange:325,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyExchange:325,1
    - Dst: '[com.jcraft.jsch.KeyExchange].asSubclass()'
      Src: com.jcraft.jsch.KeyExchange:325,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyExchange:326,1
    - Dst: '[com.jcraft.jsch.KeyExchange].newInstance()'
      Src: com.jcraft.jsch.KeyExchange:326,1
    - Dst: '[com.jcraft.jsch.KeyExchange].init()'
      Src: com.jcraft.jsch.KeyExchange:327,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.KeyExchange:329,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:329,1
    - Dst: '[com.jcraft.jsch.KeyExchange].setPubKey(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:331,1
    - Dst: '[com.jcraft.jsch.KeyExchange].update(byte[])'
      Src: com.jcraft.jsch.KeyExchange:332,1
    - Dst: '[com.jcraft.jsch.KeyExchange].verify(byte[])'
      Src: com.jcraft.jsch.KeyExchange:333,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:335,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:335,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:336,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:336,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyExchange:338,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
      Src: com.jcraft.jsch.KeyExchange:351,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
      Src: com.jcraft.jsch.KeyExchange:357,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
      Src: com.jcraft.jsch.KeyExchange:363,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
      Src: com.jcraft.jsch.KeyExchange:369,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.KeyExchange:376,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyExchange:376,1
    - Dst: '[com.jcraft.jsch.KeyExchange].asSubclass()'
      Src: com.jcraft.jsch.KeyExchange:376,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyExchange:377,1
    - Dst: '[com.jcraft.jsch.KeyExchange].newInstance()'
      Src: com.jcraft.jsch.KeyExchange:377,1
    - Dst: '[com.jcraft.jsch.KeyExchange].init()'
      Src: com.jcraft.jsch.KeyExchange:378,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.KeyExchange:380,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:380,1
    - Dst: '[com.jcraft.jsch.KeyExchange].setPubKey(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:382,1
    - Dst: '[com.jcraft.jsch.KeyExchange].update(byte[])'
      Src: com.jcraft.jsch.KeyExchange:383,1
    - Dst: '[com.jcraft.jsch.KeyExchange].verify(byte[])'
      Src: com.jcraft.jsch.KeyExchange:384,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:386,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:386,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:387,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,String)'
      Src: com.jcraft.jsch.KeyExchange:387,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyExchange:389,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyExchange:389,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyExchange:390,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
      Src: com.jcraft.jsch.KeyExchange:402,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
      Src: com.jcraft.jsch.KeyExchange:408,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
      Src: com.jcraft.jsch.KeyExchange:412,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.KeyExchange:419,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyExchange:419,1
    - Dst: '[com.jcraft.jsch.KeyExchange].asSubclass()'
      Src: com.jcraft.jsch.KeyExchange:419,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyExchange:420,1
    - Dst: '[com.jcraft.jsch.KeyExchange].newInstance()'
      Src: com.jcraft.jsch.KeyExchange:420,1
    - Dst: '[com.jcraft.jsch.KeyExchange].init()'
      Src: com.jcraft.jsch.KeyExchange:421,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.KeyExchange:423,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:423,1
    - Dst: '[com.jcraft.jsch.KeyExchange].setPubKey(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:426,1
    - Dst: '[com.jcraft.jsch.KeyExchange].update(byte[])'
      Src: com.jcraft.jsch.KeyExchange:428,1
    - Dst: '[com.jcraft.jsch.KeyExchange].verify(byte[])'
      Src: com.jcraft.jsch.KeyExchange:430,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:432,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:432,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:433,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:433,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyExchange:435,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyExchange:435,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
      Src: com.jcraft.jsch.KeyExchange:445,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.KeyExchange:451,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyExchange:451,1
    - Dst: '[com.jcraft.jsch.KeyExchange].asSubclass()'
      Src: com.jcraft.jsch.KeyExchange:451,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyExchange:452,1
    - Dst: '[com.jcraft.jsch.KeyExchange].newInstance()'
      Src: com.jcraft.jsch.KeyExchange:452,1
    - Dst: '[com.jcraft.jsch.KeyExchange].init()'
      Src: com.jcraft.jsch.KeyExchange:453,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.KeyExchange:455,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:455,1
    - Dst: '[com.jcraft.jsch.KeyExchange].setPubKey(com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:458,1
    - Dst: '[com.jcraft.jsch.KeyExchange].update(byte[])'
      Src: com.jcraft.jsch.KeyExchange:460,1
    - Dst: '[com.jcraft.jsch.KeyExchange].verify(byte[])'
      Src: com.jcraft.jsch.KeyExchange:462,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:464,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:464,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:465,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:465,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:468,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.KeyExchange:468,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.KeyExchange:469,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,String)'
      Src: com.jcraft.jsch.KeyExchange:469,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 297
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      - int
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - alg
    - K_S
    - index
    - sig_of_H
    argTypes:
    - String
    - byte[]
    - int
    - byte[]
    constantsTouched: []
    func_position:
      end: 474
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 474
    functionName: '[com.jcraft.jsch.KeyExchange].verify(String,byte[],int,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,String)'
    - '[com.jcraft.jsch.KeyExchange].getDeclaredConstructor()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.KeyExchange].setPubKey(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - e.toString()
    - '[com.jcraft.jsch.KeyExchange].asSubclass()'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.KeyExchange].newInstance()'
    - Class.forName(String)
    - System.arraycopy(byte[],com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
    - '[com.jcraft.jsch.KeyExchange].setPubKey(com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.KeyExchange].init()'
    - '[com.jcraft.jsch.KeyExchange].setPubKey(com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange,com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.KeyExchange].verify(byte[])'
    - '[com.jcraft.jsch.KeyExchange].update(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyExchange].verify(String,byte[],int,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - raw
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: '[com.jcraft.jsch.KeyExchange].encodeInt(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyExchange].encodeInt(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchange].encodeAsMPInt(byte[],boolean)'
      Src: com.jcraft.jsch.KeyExchange:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - raw
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: '[com.jcraft.jsch.KeyExchange].encodeAsMPInt(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchange].encodeAsMPInt(byte[],boolean)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyExchange].encodeAsMPInt(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
      Src: com.jcraft.jsch.KeyExchange:499,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyExchange:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - raw
    - bzero
    argTypes:
    - byte[]
    - boolean
    constantsTouched: []
    func_position:
      end: 504
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 504
    functionName: '[com.jcraft.jsch.KeyExchange].encodeAsMPInt(byte[],boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyExchange].encodeAsMPInt(byte[],boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchange].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.KeyExchange:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - raw
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: '[com.jcraft.jsch.KeyExchange].encodeAsString(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyExchange].encodeAsString(byte[],boolean)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyExchange].encodeAsString(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
      Src: com.jcraft.jsch.KeyExchange:517,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyExchange:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - raw
    - bzero
    argTypes:
    - byte[]
    - boolean
    constantsTouched: []
    func_position:
      end: 522
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 522
    functionName: '[com.jcraft.jsch.KeyExchange].encodeAsString(byte[],boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyExchange,int,com.jcraft.jsch.KeyExchange)
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyExchange].encodeAsString(byte[],boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String[]
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.HASH
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyExchange
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KeyExchange].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KeyExchange
    signature: '[com.jcraft.jsch.KeyExchange].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].<init>(JSch.InstanceLogger)'
      Src: com.jcraft.jsch.KeyPairEdDSA:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPairEdDSA
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 3
    argNames:
    - instLogger
    - pub_array
    - prv_array
    argTypes:
    - JSch.InstanceLogger
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].<init>(JSch.InstanceLogger,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].<init>(JSch.InstanceLogger)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairEdDSA
    signature: '[com.jcraft.jsch.KeyPairEdDSA].<init>(JSch.InstanceLogger,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].getSshName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KeyPairEdDSA].getSshName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].getJceName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KeyPairEdDSA].getJceName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairEdDSA:49,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairEdDSA:49,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].asSubclass()'
      Src: com.jcraft.jsch.KeyPairEdDSA:49,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairEdDSA:50,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].newInstance()'
      Src: com.jcraft.jsch.KeyPairEdDSA:50,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getJceName()'
      Src: com.jcraft.jsch.KeyPairEdDSA:51,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getKeySize()'
      Src: com.jcraft.jsch.KeyPairEdDSA:51,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].init(String,com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:51,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getPub()'
      Src: com.jcraft.jsch.KeyPairEdDSA:52,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getPrv()'
      Src: com.jcraft.jsch.KeyPairEdDSA:53,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.KeyPairEdDSA:57,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPairEdDSA,com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].generate(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairEdDSA].getPrv()'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPairEdDSA,com.jcraft.jsch.KeyPairEdDSA)'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPairEdDSA].newInstance()'
    - '[com.jcraft.jsch.KeyPairEdDSA].getPub()'
    - '[com.jcraft.jsch.KeyPairEdDSA].getDeclaredConstructor()'
    - '[com.jcraft.jsch.KeyPairEdDSA].getJceName()'
    - '[com.jcraft.jsch.KeyPairEdDSA].getKeySize()'
    - '[com.jcraft.jsch.KeyPairEdDSA].init(String,com.jcraft.jsch.KeyPairEdDSA)'
    - e.toString()
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPairEdDSA].asSubclass()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairEdDSA].generate(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: com.jcraft.jsch.KeyPairEdDSA:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].getBegin()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairEdDSA].getBegin()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: com.jcraft.jsch.KeyPairEdDSA:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].getEnd()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairEdDSA].getEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: com.jcraft.jsch.KeyPairEdDSA:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].getPrivateKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairEdDSA].getPrivateKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getKeyTypeName()'
      Src: com.jcraft.jsch.KeyPairEdDSA:80,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPairEdDSA,int,com.jcraft.jsch.KeyPairEdDSA)
      Src: com.jcraft.jsch.KeyPairEdDSA:89,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPairEdDSA,com.jcraft.jsch.KeyPairEdDSA,com.jcraft.jsch.KeyPairEdDSA)
      Src: com.jcraft.jsch.KeyPairEdDSA:90,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:95,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:96,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:97,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:98,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:103,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 109
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].getOpenSSHv1PrivateKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyPairEdDSA,int,com.jcraft.jsch.KeyPairEdDSA)
    - '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.KeyPairEdDSA)'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPairEdDSA)'
    - '[com.jcraft.jsch.KeyPairEdDSA].getKeyTypeName()'
    - '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.KeyPairEdDSA)'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyPairEdDSA,com.jcraft.jsch.KeyPairEdDSA,com.jcraft.jsch.KeyPairEdDSA)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairEdDSA].getOpenSSHv1PrivateKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:114,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:115,1
    - Dst: '[com.jcraft.jsch.Buffer].getBytes(int,String)'
      Src: com.jcraft.jsch.KeyPairEdDSA:118,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairEdDSA:121,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].isEnabled(com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:121,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairEdDSA:122,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].log(com.jcraft.jsch.KeyPairEdDSA,String,com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:122,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:131,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPairEdDSA:132,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPairEdDSA:133,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairEdDSA:135,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairEdDSA:138,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:138,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairEdDSA:139,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairEdDSA:142,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getKeySize()'
      Src: com.jcraft.jsch.KeyPairEdDSA:143,1
    - Dst: '[java.util.Arrays].copyOf(byte[],com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:143,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairEdDSA:144,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:144,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairEdDSA:148,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].isEnabled(com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:148,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairEdDSA:149,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].log(com.jcraft.jsch.KeyPairEdDSA,String,com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:149,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairEdDSA:156,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairEdDSA:156,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].asSubclass()'
      Src: com.jcraft.jsch.KeyPairEdDSA:156,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairEdDSA:158,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].newInstance()'
      Src: com.jcraft.jsch.KeyPairEdDSA:158,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getJceName()'
      Src: com.jcraft.jsch.KeyPairEdDSA:159,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].init(String,byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:159,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getPub()'
      Src: com.jcraft.jsch.KeyPairEdDSA:160,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getPrv()'
      Src: com.jcraft.jsch.KeyPairEdDSA:161,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairEdDSA:164,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].isEnabled(com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:164,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairEdDSA:165,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].log(com.jcraft.jsch.KeyPairEdDSA,String,com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:165,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairEdDSA:170,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].isEnabled(com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:170,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairEdDSA:171,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].log(com.jcraft.jsch.KeyPairEdDSA,String)'
      Src: com.jcraft.jsch.KeyPairEdDSA:171,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - plain
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 175
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 175
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].parse(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairEdDSA].getPub()'
    - '[com.jcraft.jsch.KeyPairEdDSA].getKeySize()'
    - '[com.jcraft.jsch.KeyPairEdDSA].asSubclass()'
    - '[com.jcraft.jsch.KeyPairEdDSA].log(com.jcraft.jsch.KeyPairEdDSA,String)'
    - instLogger.getLogger()
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.KeyPairEdDSA)'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.KeyPairEdDSA].isEnabled(com.jcraft.jsch.KeyPairEdDSA)'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPairEdDSA].init(String,byte[])'
    - '[com.jcraft.jsch.KeyPairEdDSA].getJceName()'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPairEdDSA].log(com.jcraft.jsch.KeyPairEdDSA,String,com.jcraft.jsch.KeyPairEdDSA)'
    - '[com.jcraft.jsch.KeyPairEdDSA].getPrv()'
    - '[com.jcraft.jsch.KeyPairEdDSA].newInstance()'
    - '[com.jcraft.jsch.KeyPairEdDSA].getDeclaredConstructor()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Buffer].getBytes(int,String)'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[java.util.Arrays].copyOf(byte[],com.jcraft.jsch.KeyPairEdDSA)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyPairEdDSA].parse(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPairEdDSA:179,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getKeyTypeName()'
      Src: com.jcraft.jsch.KeyPairEdDSA:186,1
    - Dst: '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].getPublicKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
    - '[com.jcraft.jsch.KeyPairEdDSA].getKeyTypeName()'
    - '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairEdDSA)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairEdDSA].getPublicKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getSshName()'
      Src: com.jcraft.jsch.KeyPairEdDSA:193,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairEdDSA:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].getKeyTypeName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.KeyPairEdDSA].getSshName()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairEdDSA].getKeyTypeName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getSshName()'
      Src: com.jcraft.jsch.KeyPairEdDSA:198,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getSignature(byte[],String)'
      Src: com.jcraft.jsch.KeyPairEdDSA:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].getSignature(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairEdDSA].getSignature(byte[],String)'
    - '[com.jcraft.jsch.KeyPairEdDSA].getSshName()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairEdDSA].getSignature(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairEdDSA:205,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairEdDSA:205,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].asSubclass()'
      Src: com.jcraft.jsch.KeyPairEdDSA:205,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairEdDSA:206,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].newInstance()'
      Src: com.jcraft.jsch.KeyPairEdDSA:206,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].init()'
      Src: com.jcraft.jsch.KeyPairEdDSA:207,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].setPrvKey(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:208,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].update(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:210,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].sign()'
      Src: com.jcraft.jsch.KeyPairEdDSA:211,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairEdDSA:213,1
    - Dst: '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:215,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairEdDSA:217,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].isEnabled(com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:217,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairEdDSA:218,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].log(com.jcraft.jsch.KeyPairEdDSA,String,com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 2
    argNames:
    - data
    - alg
    argTypes:
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 222
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 222
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].getSignature(byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPairEdDSA].log(com.jcraft.jsch.KeyPairEdDSA,String,com.jcraft.jsch.KeyPairEdDSA)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.KeyPairEdDSA].sign()'
    - '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairEdDSA)'
    - instLogger.getLogger()
    - '[com.jcraft.jsch.KeyPairEdDSA].update(byte[])'
    - '[com.jcraft.jsch.KeyPairEdDSA].isEnabled(com.jcraft.jsch.KeyPairEdDSA)'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPairEdDSA].newInstance()'
    - '[com.jcraft.jsch.KeyPairEdDSA].getDeclaredConstructor()'
    - '[com.jcraft.jsch.KeyPairEdDSA].setPrvKey(byte[])'
    - '[com.jcraft.jsch.KeyPairEdDSA].init()'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPairEdDSA].asSubclass()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairEdDSA].getSignature(byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getSshName()'
      Src: com.jcraft.jsch.KeyPairEdDSA:226,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getVerifier(String)'
      Src: com.jcraft.jsch.KeyPairEdDSA:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Signature
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].getVerifier()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairEdDSA].getVerifier(String)'
    - '[com.jcraft.jsch.KeyPairEdDSA].getSshName()'
    linkageType: ''
    returnType: com.jcraft.jsch.Signature
    signature: '[com.jcraft.jsch.KeyPairEdDSA].getVerifier()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairEdDSA:233,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairEdDSA:233,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].asSubclass()'
      Src: com.jcraft.jsch.KeyPairEdDSA:233,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairEdDSA:234,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].newInstance()'
      Src: com.jcraft.jsch.KeyPairEdDSA:234,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].init()'
      Src: com.jcraft.jsch.KeyPairEdDSA:235,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPairEdDSA:237,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPairEdDSA:238,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:238,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairEdDSA:239,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairEdDSA:240,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].setPubKey(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:243,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairEdDSA:246,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].isEnabled(com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:246,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairEdDSA:247,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].log(com.jcraft.jsch.KeyPairEdDSA,String,com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Signature
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - alg
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 251
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 251
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].getVerifier(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPairEdDSA].log(com.jcraft.jsch.KeyPairEdDSA,String,com.jcraft.jsch.KeyPairEdDSA)'
    - instLogger.getLogger()
    - '[com.jcraft.jsch.KeyPairEdDSA].isEnabled(com.jcraft.jsch.KeyPairEdDSA)'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPairEdDSA].newInstance()'
    - '[com.jcraft.jsch.KeyPairEdDSA].getDeclaredConstructor()'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[com.jcraft.jsch.KeyPairEdDSA].setPubKey(byte[])'
    - '[com.jcraft.jsch.KeyPairEdDSA].init()'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPairEdDSA].asSubclass()'
    - '[com.jcraft.jsch.KeyPairEdDSA].getPublicKeyBlob()'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: com.jcraft.jsch.Signature
    signature: '[com.jcraft.jsch.KeyPairEdDSA].getVerifier(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].isEncrypted()'
      Src: com.jcraft.jsch.KeyPairEdDSA:255,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairEdDSA:256,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.KeyPairEdDSA:258,1
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].getKeyTypeName()'
      Src: com.jcraft.jsch.KeyPairEdDSA:259,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:259,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:260,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPairEdDSA,int,com.jcraft.jsch.KeyPairEdDSA)
      Src: com.jcraft.jsch.KeyPairEdDSA:262,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPairEdDSA,com.jcraft.jsch.KeyPairEdDSA,com.jcraft.jsch.KeyPairEdDSA)
      Src: com.jcraft.jsch.KeyPairEdDSA:263,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:264,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:265,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:265,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.KeyPairEdDSA:266,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPairEdDSA,int,com.jcraft.jsch.KeyPairEdDSA)'
      Src: com.jcraft.jsch.KeyPairEdDSA:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].forSSHAgent()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyPairEdDSA,int,com.jcraft.jsch.KeyPairEdDSA)
    - '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.KeyPairEdDSA)'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].getLength()'
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPairEdDSA,int,com.jcraft.jsch.KeyPairEdDSA)'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.KeyPairEdDSA].getKeyTypeName()'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KeyPairEdDSA)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.KeyPairEdDSA].isEncrypted()'
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyPairEdDSA,com.jcraft.jsch.KeyPairEdDSA,com.jcraft.jsch.KeyPairEdDSA)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairEdDSA].forSSHAgent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].dispose()'
      Src: com.jcraft.jsch.KeyPairEdDSA:273,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPairEdDSA:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: '[com.jcraft.jsch.KeyPairEdDSA].dispose()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - '[com.jcraft.jsch.KeyPair].dispose()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairEdDSA].dispose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.CipherNone].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/CipherNone.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.CipherNone].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.CipherNone].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/CipherNone.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.CipherNone].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.CipherNone].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/CipherNone.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.CipherNone].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: '[com.jcraft.jsch.CipherNone].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/CipherNone.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.CipherNone].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[com.jcraft.jsch.CipherNone].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/CipherNone.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.CipherNone].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.CipherNone
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.CipherNone].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/CipherNone.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.CipherNone
    signature: '[com.jcraft.jsch.CipherNone].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - pass
    - salt
    - iteration
    - size
    argTypes:
    - byte[]
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.PBKDF].getKey(byte[],byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PBKDF.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.PBKDF].getKey(byte[],byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.PBKDF
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.PBKDF].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PBKDF.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.PBKDF
    signature: '[com.jcraft.jsch.PBKDF].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairEd25519].<init>(JSch.InstanceLogger,null,null)'
      Src: com.jcraft.jsch.KeyPairEd25519:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPairEd25519
      static: false
      superClass: com.jcraft.jsch.KeyPairEdDSA
    argCount: 1
    argNames:
    - instLogger
    argTypes:
    - JSch.InstanceLogger
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.KeyPairEd25519].<init>(JSch.InstanceLogger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd25519.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairEd25519].<init>(JSch.InstanceLogger,null,null)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairEd25519
    signature: '[com.jcraft.jsch.KeyPairEd25519].<init>(JSch.InstanceLogger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairEdDSA].<init>(JSch.InstanceLogger,byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairEd25519:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPairEd25519
      static: false
      superClass: com.jcraft.jsch.KeyPairEdDSA
    argCount: 3
    argNames:
    - instLogger
    - pub_array
    - prv_array
    argTypes:
    - JSch.InstanceLogger
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.KeyPairEd25519].<init>(JSch.InstanceLogger,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd25519.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairEdDSA].<init>(JSch.InstanceLogger,byte[],byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairEd25519
    signature: '[com.jcraft.jsch.KeyPairEd25519].<init>(JSch.InstanceLogger,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyPairEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.KeyPairEd25519].getKeyType()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd25519.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPairEd25519].getKeyType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyPairEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[com.jcraft.jsch.KeyPairEd25519].getKeySize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd25519.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPairEd25519].getKeySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.KeyPairEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.KeyPairEd25519].getSshName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd25519.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KeyPairEd25519].getSshName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.KeyPairEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[com.jcraft.jsch.KeyPairEd25519].getJceName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd25519.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KeyPairEd25519].getJceName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getBytes(int,String)'
      Src: com.jcraft.jsch.KeyPairEd25519:65,1
    - Dst: '[java.util.Arrays].copyOf(int)'
      Src: com.jcraft.jsch.KeyPairEd25519:68,1
    - Dst: '[com.jcraft.jsch.KeyPairEd25519].<init>(JSch.InstanceLogger,com.jcraft.jsch.KeyPairEd25519,com.jcraft.jsch.KeyPairEd25519)'
      Src: com.jcraft.jsch.KeyPairEd25519:69,1
    - Dst: '[com.jcraft.jsch.Util].byte2str()'
      Src: com.jcraft.jsch.KeyPairEd25519:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: com.jcraft.jsch.KeyPairEdDSA
    argCount: 2
    argNames:
    - instLogger
    - buf
    argTypes:
    - JSch.InstanceLogger
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: '[com.jcraft.jsch.KeyPairEd25519].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd25519.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPairEd25519].<init>(JSch.InstanceLogger,com.jcraft.jsch.KeyPairEd25519,com.jcraft.jsch.KeyPairEd25519)'
    - '[com.jcraft.jsch.Buffer].getBytes(int,String)'
    - '[com.jcraft.jsch.Util].byte2str()'
    - '[java.util.Arrays].copyOf(int)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPairEd25519].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHEC256
      static: false
      superClass: com.jcraft.jsch.DHECN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.DHEC256].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHEC256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHEC256
    signature: '[com.jcraft.jsch.DHEC256].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairDSA].<init>(JSch.InstanceLogger,null,null,null,null,null)'
      Src: com.jcraft.jsch.KeyPairDSA:42,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairDSA:77,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairDSA:78,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairDSA:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPairDSA
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - instLogger
    argTypes:
    - JSch.InstanceLogger
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.KeyPairDSA].<init>(JSch.InstanceLogger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPairDSA].<init>(JSch.InstanceLogger,null,null,null,null,null)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairDSA
    signature: '[com.jcraft.jsch.KeyPairDSA].<init>(JSch.InstanceLogger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].<init>(JSch.InstanceLogger)'
      Src: com.jcraft.jsch.KeyPairDSA:47,1
    - Dst: (new BigInteger(P_array)).bitLength()
      Src: com.jcraft.jsch.KeyPairDSA:54,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairDSA:77,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairDSA:78,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairDSA:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPairDSA
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 6
    argNames:
    - instLogger
    - P_array
    - Q_array
    - G_array
    - pub_array
    - prv_array
    argTypes:
    - JSch.InstanceLogger
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: '[com.jcraft.jsch.KeyPairDSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.KeyPair].<init>(JSch.InstanceLogger)'
    - (new BigInteger(P_array)).bitLength()
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairDSA
    signature: '[com.jcraft.jsch.KeyPairDSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairDSA:62,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairDSA:62,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].asSubclass()'
      Src: com.jcraft.jsch.KeyPairDSA:62,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairDSA:63,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].newInstance()'
      Src: com.jcraft.jsch.KeyPairDSA:63,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].init(int)'
      Src: com.jcraft.jsch.KeyPairDSA:64,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].getP()'
      Src: com.jcraft.jsch.KeyPairDSA:65,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].getQ()'
      Src: com.jcraft.jsch.KeyPairDSA:66,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].getG()'
      Src: com.jcraft.jsch.KeyPairDSA:67,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].getY()'
      Src: com.jcraft.jsch.KeyPairDSA:68,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].getX()'
      Src: com.jcraft.jsch.KeyPairDSA:69,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.KeyPairDSA:73,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPairDSA,com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: '[com.jcraft.jsch.KeyPairDSA].generate(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairDSA].getY()'
    - '[com.jcraft.jsch.KeyPairDSA].asSubclass()'
    - '[com.jcraft.jsch.KeyPairDSA].getQ()'
    - '[com.jcraft.jsch.KeyPairDSA].getG()'
    - '[com.jcraft.jsch.KeyPairDSA].getDeclaredConstructor()'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPairDSA,com.jcraft.jsch.KeyPairDSA)'
    - '[com.jcraft.jsch.KeyPairDSA].init(int)'
    - '[com.jcraft.jsch.KeyPairDSA].getX()'
    - e.toString()
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPairDSA].newInstance()'
    - '[com.jcraft.jsch.KeyPairDSA].getP()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairDSA].generate(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: '[com.jcraft.jsch.KeyPairDSA].getBegin()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairDSA].getBegin()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '[com.jcraft.jsch.KeyPairDSA].getEnd()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairDSA].getEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairDSA].countLength(int)'
      Src: com.jcraft.jsch.KeyPairDSA:92,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].countLength(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:93,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].countLength(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:94,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].countLength(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:95,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].countLength(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:96,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].countLength(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:97,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].countLength(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:99,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].writeSEQUENCE(com.jcraft.jsch.KeyPairDSA,com.jcraft.jsch.KeyPairDSA,com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:103,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].writeINTEGER(com.jcraft.jsch.KeyPairDSA,com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:104,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].writeINTEGER(com.jcraft.jsch.KeyPairDSA,com.jcraft.jsch.KeyPairDSA,byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:105,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].writeINTEGER(com.jcraft.jsch.KeyPairDSA,com.jcraft.jsch.KeyPairDSA,byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:106,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].writeINTEGER(com.jcraft.jsch.KeyPairDSA,com.jcraft.jsch.KeyPairDSA,byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:107,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].writeINTEGER(com.jcraft.jsch.KeyPairDSA,com.jcraft.jsch.KeyPairDSA,byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:108,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].writeINTEGER(com.jcraft.jsch.KeyPairDSA,com.jcraft.jsch.KeyPairDSA,byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: '[com.jcraft.jsch.KeyPairDSA].getPrivateKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPairDSA].writeINTEGER(com.jcraft.jsch.KeyPairDSA,com.jcraft.jsch.KeyPairDSA)'
    - '[com.jcraft.jsch.KeyPairDSA].writeINTEGER(com.jcraft.jsch.KeyPairDSA,com.jcraft.jsch.KeyPairDSA,byte[])'
    - '[com.jcraft.jsch.KeyPairDSA].countLength(com.jcraft.jsch.KeyPairDSA)'
    - '[com.jcraft.jsch.KeyPairDSA].countLength(int)'
    - '[com.jcraft.jsch.KeyPairDSA].writeSEQUENCE(com.jcraft.jsch.KeyPairDSA,com.jcraft.jsch.KeyPairDSA,com.jcraft.jsch.KeyPairDSA)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairDSA].getPrivateKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairDSA].getKeyTypeName()'
      Src: com.jcraft.jsch.KeyPairDSA:115,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:134,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:135,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:136,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:137,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:138,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:139,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:140,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:145,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 149
    functionName: '[com.jcraft.jsch.KeyPairDSA].getOpenSSHv1PrivateKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairDSA].getKeyTypeName()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.KeyPairDSA)'
    - '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairDSA].getOpenSSHv1PrivateKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:157,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPairDSA:158,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPIntBits()'
      Src: com.jcraft.jsch.KeyPairDSA:159,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPIntBits()'
      Src: com.jcraft.jsch.KeyPairDSA:160,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPIntBits()'
      Src: com.jcraft.jsch.KeyPairDSA:161,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPIntBits()'
      Src: com.jcraft.jsch.KeyPairDSA:162,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPIntBits()'
      Src: com.jcraft.jsch.KeyPairDSA:163,1
    - Dst: (new BigInteger(P_array)).bitLength()
      Src: com.jcraft.jsch.KeyPairDSA:165,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:170,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:171,1
    - Dst: '[com.jcraft.jsch.Buffer].getBytes(int,String)'
      Src: com.jcraft.jsch.KeyPairDSA:174,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairDSA:177,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].isEnabled(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:177,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairDSA:178,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].log(com.jcraft.jsch.KeyPairDSA,String,com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:178,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:188,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPairDSA:189,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPairDSA:190,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairDSA:192,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairDSA:196,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:196,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.KeyPairDSA:197,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.KeyPairDSA:198,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.KeyPairDSA:199,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.KeyPairDSA:200,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.KeyPairDSA:201,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairDSA:202,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:202,1
    - Dst: (new BigInteger(P_array)).bitLength()
      Src: com.jcraft.jsch.KeyPairDSA:203,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairDSA,byte[],int,com.jcraft.jsch.KeyPairDSA)
      Src: com.jcraft.jsch.KeyPairDSA:246,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairDSA,byte[],int,com.jcraft.jsch.KeyPairDSA)
      Src: com.jcraft.jsch.KeyPairDSA:259,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairDSA,byte[],int,com.jcraft.jsch.KeyPairDSA)
      Src: com.jcraft.jsch.KeyPairDSA:272,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairDSA,byte[],int,com.jcraft.jsch.KeyPairDSA)
      Src: com.jcraft.jsch.KeyPairDSA:285,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairDSA,byte[],int,com.jcraft.jsch.KeyPairDSA)
      Src: com.jcraft.jsch.KeyPairDSA:298,1
    - Dst: (new BigInteger(P_array)).bitLength()
      Src: com.jcraft.jsch.KeyPairDSA:302,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairDSA:304,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].isEnabled(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:304,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairDSA:305,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].log(com.jcraft.jsch.KeyPairDSA,String,com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:305,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 189
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - plain
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 310
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 310
    functionName: '[com.jcraft.jsch.KeyPairDSA].parse(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.Buffer].getMPInt()'
    - '[com.jcraft.jsch.KeyPairDSA].log(com.jcraft.jsch.KeyPairDSA,String,com.jcraft.jsch.KeyPairDSA)'
    - '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.KeyPairDSA)'
    - instLogger.getLogger()
    - '[com.jcraft.jsch.Buffer].getMPIntBits()'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.KeyPairDSA].isEnabled(com.jcraft.jsch.KeyPairDSA)'
    - (new BigInteger(P_array)).bitLength()
    - System.arraycopy(byte[],com.jcraft.jsch.KeyPairDSA,byte[],int,com.jcraft.jsch.KeyPairDSA)
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Buffer].getBytes(int,String)'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyPairDSA].parse(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPairDSA:314,1
    - Dst: '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 327
    functionName: '[com.jcraft.jsch.KeyPairDSA].getPublicKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
    - '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairDSA)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairDSA].getPublicKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: '[com.jcraft.jsch.KeyPairDSA].getKeyTypeName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairDSA].getKeyTypeName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: '[com.jcraft.jsch.KeyPairDSA].getKeyType()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPairDSA].getKeyType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: '[com.jcraft.jsch.KeyPairDSA].getKeySize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPairDSA].getKeySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairDSA:350,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairDSA:350,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].asSubclass()'
      Src: com.jcraft.jsch.KeyPairDSA:350,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairDSA:351,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].newInstance()'
      Src: com.jcraft.jsch.KeyPairDSA:351,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].init()'
      Src: com.jcraft.jsch.KeyPairDSA:352,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].setPrvKey(byte[],byte[],byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:353,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].update(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:355,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].sign()'
      Src: com.jcraft.jsch.KeyPairDSA:356,1
    - Dst: '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:360,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairDSA:362,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].isEnabled(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:362,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairDSA:363,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].log(com.jcraft.jsch.KeyPairDSA,String,com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 367
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 367
    functionName: '[com.jcraft.jsch.KeyPairDSA].getSignature(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPairDSA].asSubclass()'
    - '[com.jcraft.jsch.KeyPairDSA].log(com.jcraft.jsch.KeyPairDSA,String,com.jcraft.jsch.KeyPairDSA)'
    - '[com.jcraft.jsch.KeyPairDSA].sign()'
    - '[com.jcraft.jsch.KeyPairDSA].getDeclaredConstructor()'
    - '[com.jcraft.jsch.KeyPairDSA].init()'
    - instLogger.getLogger()
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairDSA)'
    - '[com.jcraft.jsch.KeyPairDSA].isEnabled(com.jcraft.jsch.KeyPairDSA)'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPairDSA].newInstance()'
    - '[com.jcraft.jsch.KeyPairDSA].setPrvKey(byte[],byte[],byte[],byte[])'
    - '[com.jcraft.jsch.KeyPairDSA].update(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairDSA].getSignature(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairDSA].getSignature(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 2
    argNames:
    - data
    - alg
    argTypes:
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: '[com.jcraft.jsch.KeyPairDSA].getSignature(byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairDSA].getSignature(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairDSA].getSignature(byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairDSA:378,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairDSA:378,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].asSubclass()'
      Src: com.jcraft.jsch.KeyPairDSA:378,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairDSA:379,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].newInstance()'
      Src: com.jcraft.jsch.KeyPairDSA:379,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].init()'
      Src: com.jcraft.jsch.KeyPairDSA:380,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPairDSA:382,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPairDSA:383,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:383,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairDSA:384,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairDSA:385,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairDSA:386,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairDSA:387,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairDSA:388,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].setPubKey(byte[],byte[],byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:391,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairDSA:394,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].isEnabled(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:394,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairDSA:395,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].log(com.jcraft.jsch.KeyPairDSA,String,com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:395,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Signature
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 399
    functionName: '[com.jcraft.jsch.KeyPairDSA].getVerifier()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPairDSA].asSubclass()'
    - '[com.jcraft.jsch.KeyPairDSA].log(com.jcraft.jsch.KeyPairDSA,String,com.jcraft.jsch.KeyPairDSA)'
    - '[com.jcraft.jsch.KeyPairDSA].getPublicKeyBlob()'
    - instLogger.getLogger()
    - '[com.jcraft.jsch.KeyPairDSA].getDeclaredConstructor()'
    - '[com.jcraft.jsch.KeyPairDSA].init()'
    - '[com.jcraft.jsch.KeyPairDSA].setPubKey(byte[],byte[],byte[],byte[])'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[com.jcraft.jsch.KeyPairDSA].isEnabled(com.jcraft.jsch.KeyPairDSA)'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPairDSA].newInstance()'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: com.jcraft.jsch.Signature
    signature: '[com.jcraft.jsch.KeyPairDSA].getVerifier()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairDSA].getVerifier()'
      Src: com.jcraft.jsch.KeyPairDSA:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Signature
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - alg
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 5
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: '[com.jcraft.jsch.KeyPairDSA].getVerifier(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairDSA].getVerifier()'
    linkageType: ''
    returnType: com.jcraft.jsch.Signature
    signature: '[com.jcraft.jsch.KeyPairDSA].getVerifier(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getBytes(int,String)'
      Src: com.jcraft.jsch.KeyPairDSA:408,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[],byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:415,1
    - Dst: '[com.jcraft.jsch.Util].byte2str()'
      Src: com.jcraft.jsch.KeyPairDSA:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: com.jcraft.jsch.KeyPair
    argCount: 2
    argNames:
    - instLogger
    - buf
    argTypes:
    - JSch.InstanceLogger
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 4
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: '[com.jcraft.jsch.KeyPairDSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getBytes(int,String)'
    - '[com.jcraft.jsch.Util].byte2str()'
    - '[com.jcraft.jsch.KeyPairDSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[],byte[],byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPairDSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairDSA].isEncrypted()'
      Src: com.jcraft.jsch.KeyPairDSA:423,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairDSA:424,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.KeyPairDSA:426,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:427,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:428,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:429,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:430,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:431,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:432,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:433,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:433,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.KeyPairDSA:434,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPairDSA,int,com.jcraft.jsch.KeyPairDSA)'
      Src: com.jcraft.jsch.KeyPairDSA:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 437
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 437
    functionName: '[com.jcraft.jsch.KeyPairDSA].forSSHAgent()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPairDSA,int,com.jcraft.jsch.KeyPairDSA)'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.KeyPairDSA].isEncrypted()'
    - '[com.jcraft.jsch.Buffer].getLength()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KeyPairDSA)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairDSA].forSSHAgent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].dispose()'
      Src: com.jcraft.jsch.KeyPairDSA:441,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPairDSA:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: '[com.jcraft.jsch.KeyPairDSA].dispose()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - '[com.jcraft.jsch.KeyPair].dispose()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairDSA].dispose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AgentProxy].<init>(com.jcraft.jsch.AgentConnector)'
      Src: com.jcraft.jsch.AgentIdentityRepository:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.AgentConnector
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.AgentIdentityRepository
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connector
    argTypes:
    - com.jcraft.jsch.AgentConnector
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.AgentConnector)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentityRepository.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AgentProxy].<init>(com.jcraft.jsch.AgentConnector)'
    linkageType: ''
    returnType: com.jcraft.jsch.AgentIdentityRepository
    signature: '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.AgentConnector)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AgentProxy].getIdentities()'
      Src: com.jcraft.jsch.AgentIdentityRepository:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Vector<com.jcraft.jsch.Identity>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentityRepository.java
    functionUses: 6
    functionsReached:
    - '[com.jcraft.jsch.AgentProxy].getIdentities()'
    linkageType: ''
    returnType: java.util.Vector<com.jcraft.jsch.Identity>
    signature: '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AgentProxy].addIdentity(byte[])'
      Src: com.jcraft.jsch.AgentIdentityRepository:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identity
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[com.jcraft.jsch.AgentIdentityRepository].add(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentityRepository.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AgentProxy].addIdentity(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.AgentIdentityRepository].add(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AgentProxy].removeIdentity(byte[])'
      Src: com.jcraft.jsch.AgentIdentityRepository:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - blob
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[com.jcraft.jsch.AgentIdentityRepository].remove(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentityRepository.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AgentProxy].removeIdentity(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.AgentIdentityRepository].remove(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AgentProxy].removeAllIdentities()'
      Src: com.jcraft.jsch.AgentIdentityRepository:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[com.jcraft.jsch.AgentIdentityRepository].removeAll()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentityRepository.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AgentProxy].removeAllIdentities()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AgentIdentityRepository].removeAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AgentProxy].getConnector()'
      Src: com.jcraft.jsch.AgentIdentityRepository:61,1
    - Dst: '[com.jcraft.jsch.AgentConnector].getName()'
      Src: com.jcraft.jsch.AgentIdentityRepository:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[com.jcraft.jsch.AgentIdentityRepository].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentityRepository.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AgentProxy].getConnector()'
    - '[com.jcraft.jsch.AgentConnector].getName()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.AgentIdentityRepository].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AgentProxy].getConnector()'
      Src: com.jcraft.jsch.AgentIdentityRepository:66,1
    - Dst: '[com.jcraft.jsch.AgentConnector].isAvailable()'
      Src: com.jcraft.jsch.AgentIdentityRepository:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.IdentityRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.AgentIdentityRepository].getStatus()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentityRepository.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AgentProxy].getConnector()'
    - '[com.jcraft.jsch.AgentConnector].isAvailable()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.AgentIdentityRepository].getStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchHostKeyException].<init>()'
      Src: com.jcraft.jsch.JSchChangedHostKeyException:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSchChangedHostKeyException
      static: false
      superClass: com.jcraft.jsch.JSchHostKeyException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.JSchChangedHostKeyException].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchChangedHostKeyException.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchHostKeyException].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchChangedHostKeyException
    signature: '[com.jcraft.jsch.JSchChangedHostKeyException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchHostKeyException].<init>(String)'
      Src: com.jcraft.jsch.JSchChangedHostKeyException:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSchChangedHostKeyException
      static: false
      superClass: com.jcraft.jsch.JSchHostKeyException
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.JSchChangedHostKeyException].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchChangedHostKeyException.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSchHostKeyException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchChangedHostKeyException
    signature: '[com.jcraft.jsch.JSchChangedHostKeyException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - user
    - host
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.GSSContext].create(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/GSSContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.GSSContext].create(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.GSSContext].isEstablished()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/GSSContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.GSSContext].isEstablished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - token
    - s
    - l
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.GSSContext].init(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/GSSContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.GSSContext].init(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - message
    - s
    - l
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.GSSContext].getMIC(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/GSSContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.GSSContext].getMIC(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.GSSContext].dispose()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/GSSContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.GSSContext].dispose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.GSSContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.GSSContext].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/GSSContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.GSSContext
    signature: '[com.jcraft.jsch.GSSContext].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - host
    - key
    argTypes:
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '[com.jcraft.jsch.HostKeyRepository].check(String,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKeyRepository.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.HostKeyRepository].check(String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.HostKey
      - com.jcraft.jsch.UserInfo
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - hostkey
    - ui
    argTypes:
    - com.jcraft.jsch.HostKey
    - com.jcraft.jsch.UserInfo
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,com.jcraft.jsch.UserInfo)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKeyRepository.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,com.jcraft.jsch.UserInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - host
    - type
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.HostKeyRepository].remove(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKeyRepository.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.HostKeyRepository].remove(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - host
    - type
    - key
    argTypes:
    - String
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '[com.jcraft.jsch.HostKeyRepository].remove(String,String,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKeyRepository.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.HostKeyRepository].remove(String,String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.HostKeyRepository].getKnownHostsRepositoryID()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKeyRepository.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.HostKeyRepository].getKnownHostsRepositoryID()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: HostKey[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '[com.jcraft.jsch.HostKeyRepository].getHostKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKeyRepository.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HostKey[]
    signature: '[com.jcraft.jsch.HostKeyRepository].getHostKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: HostKey[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - host
    - type
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '[com.jcraft.jsch.HostKeyRepository].getHostKey(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKeyRepository.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostKey[]
    signature: '[com.jcraft.jsch.HostKeyRepository].getHostKey(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.HostKeyRepository
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.HostKeyRepository].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKeyRepository.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.HostKeyRepository
    signature: '[com.jcraft.jsch.HostKeyRepository].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSch.class.getName()
      Src: com.jcraft.jsch.JulLogger:8,1
    - Dst: '[java.util.logging.Logger].getLogger(com.jcraft.jsch.JulLogger)'
      Src: com.jcraft.jsch.JulLogger:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.logging.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JulLogger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 10
    functionName: '[com.jcraft.jsch.JulLogger].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JulLogger.java
    functionUses: 2
    functionsReached:
    - JSch.class.getName()
    - '[java.util.logging.Logger].getLogger(com.jcraft.jsch.JulLogger)'
    linkageType: ''
    returnType: com.jcraft.jsch.JulLogger
    signature: '[com.jcraft.jsch.JulLogger].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JulLogger].getLevel(int)'
      Src: com.jcraft.jsch.JulLogger:14,1
    - Dst: '[java.util.logging.Logger].isLoggable(java.util.logging.Level)'
      Src: com.jcraft.jsch.JulLogger:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.logging.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: '[com.jcraft.jsch.JulLogger].isEnabled(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JulLogger.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JulLogger].getLevel(int)'
    - '[java.util.logging.Logger].isLoggable(java.util.logging.Level)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.JulLogger].isEnabled(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JulLogger].log(int,String,null)'
      Src: com.jcraft.jsch.JulLogger:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.logging.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - message
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: '[com.jcraft.jsch.JulLogger].log(int,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JulLogger.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JulLogger].log(int,String,null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JulLogger].log(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JulLogger].getLevel(int)'
      Src: com.jcraft.jsch.JulLogger:25,1
    - Dst: '[java.util.logging.Logger].log(java.util.logging.Level,String)'
      Src: com.jcraft.jsch.JulLogger:25,1
    - Dst: '[com.jcraft.jsch.JulLogger].getLevel(int)'
      Src: com.jcraft.jsch.JulLogger:28,1
    - Dst: '[java.util.logging.Logger].log(java.util.logging.Level,String,Throwable)'
      Src: com.jcraft.jsch.JulLogger:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.logging.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - level
    - message
    - cause
    argTypes:
    - int
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: '[com.jcraft.jsch.JulLogger].log(int,String,Throwable)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JulLogger.java
    functionUses: 0
    functionsReached:
    - '[java.util.logging.Logger].log(java.util.logging.Level,String)'
    - '[com.jcraft.jsch.JulLogger].getLevel(int)'
    - '[java.util.logging.Logger].log(java.util.logging.Level,String,Throwable)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JulLogger].log(int,String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.logging.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.logging.Level
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.JulLogger].getLevel(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JulLogger.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: java.util.logging.Level
    signature: '[com.jcraft.jsch.JulLogger].getLevel(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.DHG14N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.DHG14256].sha_name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG14256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.DHG14256].sha_name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHG14256
      static: false
      superClass: com.jcraft.jsch.DHG14N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHG14256].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG14256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHG14256
    signature: '[com.jcraft.jsch.DHG14256].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHECN:61,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.DHECN:61,1
    - Dst: '[com.jcraft.jsch.DHECN].asSubclass()'
      Src: com.jcraft.jsch.DHECN:61,1
    - Dst: '[com.jcraft.jsch.DHECN].getDeclaredConstructor()'
      Src: com.jcraft.jsch.DHECN:62,1
    - Dst: '[com.jcraft.jsch.DHECN].newInstance()'
      Src: com.jcraft.jsch.DHECN:62,1
    - Dst: '[com.jcraft.jsch.DHECN].init()'
      Src: com.jcraft.jsch.DHECN:63,1
    - Dst: '[byte[]].toString()'
      Src: com.jcraft.jsch.DHECN:65,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHECN,byte[])'
      Src: com.jcraft.jsch.DHECN:65,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.DHECN:68,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.DHECN:69,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.DHECN:71,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.DHECN:72,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHECN:76,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.DHECN:76,1
    - Dst: '[com.jcraft.jsch.DHECN].asSubclass()'
      Src: com.jcraft.jsch.DHECN:76,1
    - Dst: '[com.jcraft.jsch.DHECN].getDeclaredConstructor()'
      Src: com.jcraft.jsch.DHECN:77,1
    - Dst: '[com.jcraft.jsch.DHECN].newInstance()'
      Src: com.jcraft.jsch.DHECN:77,1
    - Dst: '[com.jcraft.jsch.DHECN].init(int)'
      Src: com.jcraft.jsch.DHECN:78,1
    - Dst: '[com.jcraft.jsch.DHECN].getQ()'
      Src: com.jcraft.jsch.DHECN:80,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.DHECN)'
      Src: com.jcraft.jsch.DHECN:81,1
    - Dst: '[byte[]].toString()'
      Src: com.jcraft.jsch.DHECN:83,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHECN,byte[])'
      Src: com.jcraft.jsch.DHECN:83,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.DHECN:90,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHECN:92,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.DHECN)'
      Src: com.jcraft.jsch.DHECN:92,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHECN:93,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHECN,String)'
      Src: com.jcraft.jsch.DHECN:93,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHECN:94,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHECN,String)'
      Src: com.jcraft.jsch.DHECN:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.ECDH
      - String
      - int
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 5
    argNames:
    - session
    - V_S
    - V_C
    - I_S
    - I_C
    argTypes:
    - com.jcraft.jsch.Session
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 98
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 98
    functionName: '[com.jcraft.jsch.DHECN].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHECN.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.DHECN].init(int)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHECN,String)'
    - '[com.jcraft.jsch.DHECN].newInstance()'
    - '[com.jcraft.jsch.DHECN].getDeclaredConstructor()'
    - '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.DHECN)'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHECN,byte[])'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - Class.forName(String)
    - '[com.jcraft.jsch.DHECN].asSubclass()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.DHECN].getQ()'
    - '[com.jcraft.jsch.DHECN].init()'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.DHECN)'
    - '[byte[]].toString()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.DHECN].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.DHECN:110,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.DHECN:111,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.DHECN:112,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHECN:114,1
    - Dst: '[com.jcraft.jsch.DHECN].isEnabled(com.jcraft.jsch.DHECN)'
      Src: com.jcraft.jsch.DHECN:114,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHECN:115,1
    - Dst: '[com.jcraft.jsch.DHECN].log(com.jcraft.jsch.DHECN,String)'
      Src: com.jcraft.jsch.DHECN:115,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHECN:120,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHECN:122,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].fromPoint(byte[])'
      Src: com.jcraft.jsch.DHECN:124,1
    - Dst: '[com.jcraft.jsch.ECDH].validate()'
      Src: com.jcraft.jsch.DHECN:132,1
    - Dst: '[com.jcraft.jsch.ECDH].getSecret()'
      Src: com.jcraft.jsch.DHECN:136,1
    - Dst: '[com.jcraft.jsch.DHECN].normalize(byte[])'
      Src: com.jcraft.jsch.DHECN:136,1
    - Dst: '[com.jcraft.jsch.DHECN].encodeAsMPInt(com.jcraft.jsch.DHECN,boolean)'
      Src: com.jcraft.jsch.DHECN:136,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHECN:138,1
    - Dst: '[com.jcraft.jsch.DHECN].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHECN:153,1
    - Dst: sha.update(com.jcraft.jsch.DHECN,int,com.jcraft.jsch.DHECN)
      Src: com.jcraft.jsch.DHECN:154,1
    - Dst: '[com.jcraft.jsch.DHECN].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHECN:155,1
    - Dst: sha.update(com.jcraft.jsch.DHECN,int,com.jcraft.jsch.DHECN)
      Src: com.jcraft.jsch.DHECN:156,1
    - Dst: '[com.jcraft.jsch.DHECN].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHECN:157,1
    - Dst: sha.update(com.jcraft.jsch.DHECN,int,com.jcraft.jsch.DHECN)
      Src: com.jcraft.jsch.DHECN:158,1
    - Dst: '[com.jcraft.jsch.DHECN].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHECN:159,1
    - Dst: sha.update(com.jcraft.jsch.DHECN,int,com.jcraft.jsch.DHECN)
      Src: com.jcraft.jsch.DHECN:160,1
    - Dst: '[com.jcraft.jsch.DHECN].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHECN:161,1
    - Dst: sha.update(com.jcraft.jsch.DHECN,int,com.jcraft.jsch.DHECN)
      Src: com.jcraft.jsch.DHECN:162,1
    - Dst: '[com.jcraft.jsch.DHECN].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHECN:163,1
    - Dst: sha.update(com.jcraft.jsch.DHECN,int,com.jcraft.jsch.DHECN)
      Src: com.jcraft.jsch.DHECN:164,1
    - Dst: '[com.jcraft.jsch.DHECN].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHECN:165,1
    - Dst: sha.update(com.jcraft.jsch.DHECN,int,com.jcraft.jsch.DHECN)
      Src: com.jcraft.jsch.DHECN:166,1
    - Dst: sha.update(com.jcraft.jsch.DHECN,int,com.jcraft.jsch.DHECN)
      Src: com.jcraft.jsch.DHECN:168,1
    - Dst: sha.digest()
      Src: com.jcraft.jsch.DHECN:169,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.DHECN,com.jcraft.jsch.DHECN)'
      Src: com.jcraft.jsch.DHECN:175,1
    - Dst: '[com.jcraft.jsch.DHECN].verify(String,byte[],com.jcraft.jsch.DHECN,byte[])'
      Src: com.jcraft.jsch.DHECN:178,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 68
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.ECDH
      - String
      - int
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 184
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 184
    functionName: '[com.jcraft.jsch.DHECN].next(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHECN.java
    functionUses: 0
    functionsReached:
    - sha.digest()
    - '[com.jcraft.jsch.DHECN].log(com.jcraft.jsch.DHECN,String)'
    - sha.update(com.jcraft.jsch.DHECN,int,com.jcraft.jsch.DHECN)
    - '[com.jcraft.jsch.ECDH].getSecret()'
    - '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.DHECN,com.jcraft.jsch.DHECN)'
    - '[com.jcraft.jsch.DHECN].encodeAsString(byte[],boolean)'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.DHECN].encodeAsMPInt(com.jcraft.jsch.DHECN,boolean)'
    - '[com.jcraft.jsch.ECDH].validate()'
    - '[com.jcraft.jsch.DHECN].verify(String,byte[],com.jcraft.jsch.DHECN,byte[])'
    - '[com.jcraft.jsch.DHECN].normalize(byte[])'
    - '[com.jcraft.jsch.DHECN].isEnabled(com.jcraft.jsch.DHECN)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.KeyPairECDSA].fromPoint(byte[])'
    - session.getLogger()
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.DHECN].next(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.ECDH
      - String
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: '[com.jcraft.jsch.DHECN].getState()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHECN.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.DHECN].getState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.ECDH
      - String
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHECN
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHECN].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHECN.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHECN
    signature: '[com.jcraft.jsch.DHECN].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.ECDH].init(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ECDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ECDH].init(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.ECDH].getSecret(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ECDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.ECDH].getSecret(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.ECDH].getQ()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ECDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.ECDH].getQ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.ECDH].validate(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ECDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.ECDH].validate(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ECDH
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ECDH].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ECDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ECDH
    signature: '[com.jcraft.jsch.ECDH].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].<init>(int)'
      Src: com.jcraft.jsch.ChannelSftp:179,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.ChannelSftp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - bulk_requests
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: '[com.jcraft.jsch.ChannelSftp].setBulkRequests(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].<init>(int)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].setBulkRequests(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].size()'
      Src: com.jcraft.jsch.ChannelSftp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: '[com.jcraft.jsch.ChannelSftp].getBulkRequests()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].size()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.ChannelSftp].getBulkRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - useWriteFlushWorkaround
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '[com.jcraft.jsch.ChannelSftp].setUseWriteFlushWorkaround(boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].setUseWriteFlushWorkaround(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: '[com.jcraft.jsch.ChannelSftp].getUseWriteFlushWorkaround()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.ChannelSftp].getUseWriteFlushWorkaround()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String.valueOf(int)
      Src: com.jcraft.jsch.ChannelSftp:136,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].<init>(int)'
      Src: com.jcraft.jsch.ChannelSftp:169,1
    - Dst: '[com.jcraft.jsch.ChannelSession].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ChannelSftp
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: '[com.jcraft.jsch.ChannelSftp].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - String.valueOf(int)
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].<init>(int)'
    - '[com.jcraft.jsch.ChannelSession].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelSftp
    signature: '[com.jcraft.jsch.ChannelSftp].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: '[com.jcraft.jsch.ChannelSftp].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.PipedOutputStream].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:215,1
    - Dst: io.setOutputStream(java.io.PipedOutputStream)
      Src: com.jcraft.jsch.ChannelSftp:216,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].size()'
      Src: com.jcraft.jsch.ChannelSftp:217,1
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(java.io.PipedOutputStream,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:217,1
    - Dst: io.setInputStream(com.jcraft.jsch.Channel.MyPipedInputStream)
      Src: com.jcraft.jsch.ChannelSftp:218,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.ChannelSftp:223,1
    - Dst: '[com.jcraft.jsch.RequestSftp].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:226,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getSession()'
      Src: com.jcraft.jsch.ChannelSftp:227,1
    - Dst: '[com.jcraft.jsch.RequestSftp].request(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:227,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:234,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:235,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:237,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:238,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendINIT()'
      Src: com.jcraft.jsch.ChannelSftp:246,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:249,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:250,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:253,1
    - Dst: '[java.util.Hashtable].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:258,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:261,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:265,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:267,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:269,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:269,1
    - Dst: '[java.util.Hashtable].put(String,String)'
      Src: com.jcraft.jsch.ChannelSftp:269,1
    - Dst: '[java.util.Hashtable].get(String)'
      Src: com.jcraft.jsch.ChannelSftp:273,1
    - Dst: '[java.util.Hashtable].get(String)'
      Src: com.jcraft.jsch.ChannelSftp:274,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].equals(String)'
      Src: com.jcraft.jsch.ChannelSftp:274,1
    - Dst: '[java.util.Hashtable].get(String)'
      Src: com.jcraft.jsch.ChannelSftp:278,1
    - Dst: '[java.util.Hashtable].get(String)'
      Src: com.jcraft.jsch.ChannelSftp:279,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].equals(String)'
      Src: com.jcraft.jsch.ChannelSftp:279,1
    - Dst: '[java.util.Hashtable].get(String)'
      Src: com.jcraft.jsch.ChannelSftp:288,1
    - Dst: '[java.util.Hashtable].get(String)'
      Src: com.jcraft.jsch.ChannelSftp:289,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].equals(String)'
      Src: com.jcraft.jsch.ChannelSftp:289,1
    - Dst: '[java.io.File].<init>(String)'
      Src: com.jcraft.jsch.ChannelSftp:293,1
    - Dst: '[java.io.File].getCanonicalPath()'
      Src: com.jcraft.jsch.ChannelSftp:293,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:298,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:298,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 300
    functionName: '[com.jcraft.jsch.ChannelSftp].start()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[java.io.PipedOutputStream].<init>()'
    - '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].size()'
    - '[java.util.Hashtable].<init>()'
    - '[Header].<init>()'
    - '[com.jcraft.jsch.ChannelSftp].equals(String)'
    - io.setInputStream(com.jcraft.jsch.Channel.MyPipedInputStream)
    - '[java.io.File].<init>(String)'
    - e.toString()
    - '[com.jcraft.jsch.RequestSftp].request(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(java.io.PipedOutputStream,com.jcraft.jsch.ChannelSftp)'
    - '[java.io.File].getCanonicalPath()'
    - '[com.jcraft.jsch.ChannelSftp].getSession()'
    - '[com.jcraft.jsch.RequestSftp].<init>()'
    - '[java.util.Hashtable].get(String)'
    - io.setOutputStream(java.io.PipedOutputStream)
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp].sendINIT()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[java.util.Hashtable].put(String,String)'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].start()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].disconnect()'
      Src: com.jcraft.jsch.ChannelSftp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: '[com.jcraft.jsch.ChannelSftp].quit()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].disconnect()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].quit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].disconnect()'
      Src: com.jcraft.jsch.ChannelSftp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: '[com.jcraft.jsch.ChannelSftp].exit()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].disconnect()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].exit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].localAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:311,1
    - Dst: (new File(path)).isDirectory()
      Src: com.jcraft.jsch.ChannelSftp:312,1
    - Dst: (new File(path)).getCanonicalPath()
      Src: com.jcraft.jsch.ChannelSftp:314,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: '[com.jcraft.jsch.ChannelSftp].lcd(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - (new File(path)).getCanonicalPath()
    - (new File(path)).isDirectory()
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.ChannelSftp].localAbsolutePath(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].lcd(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:325,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:327,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
      Src: com.jcraft.jsch.ChannelSftp:328,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._realpath(String)'
      Src: com.jcraft.jsch.ChannelSftp:330,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._stat(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:331,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getFlags()'
      Src: com.jcraft.jsch.ChannelSftp:333,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:334,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].isDir()'
      Src: com.jcraft.jsch.ChannelSftp:336,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:337,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:340,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].setCwd(String)'
      Src: com.jcraft.jsch.ChannelSftp:340,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:344,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:344,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 346
      start: 323
    functionDepth: 8
    functionLinenumber: 323
    functionLinenumberEnd: 346
    functionName: '[com.jcraft.jsch.ChannelSftp].cd(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp]._realpath(String)'
    - '[com.jcraft.jsch.SftpATTRS].getFlags()'
    - '[com.jcraft.jsch.ChannelSftp]._stat(byte[])'
    - '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
    - '[com.jcraft.jsch.SftpATTRS].isDir()'
    - '[com.jcraft.jsch.ChannelSftp].setCwd(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].cd(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].put(String,String,null,int)'
      Src: com.jcraft.jsch.ChannelSftp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: '[com.jcraft.jsch.ChannelSftp].put(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].put(String,String,null,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].put(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].put(String,String,null,int)'
      Src: com.jcraft.jsch.ChannelSftp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - src
    - dst
    - mode
    argTypes:
    - String
    - String
    - int
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: '[com.jcraft.jsch.ChannelSftp].put(String,String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].put(String,String,null,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].put(String,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].put(String,String,com.jcraft.jsch.SftpProgressMonitor,int)'
      Src: com.jcraft.jsch.ChannelSftp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - com.jcraft.jsch.SftpProgressMonitor
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - src
    - dst
    - monitor
    argTypes:
    - String
    - String
    - com.jcraft.jsch.SftpProgressMonitor
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 9
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: '[com.jcraft.jsch.ChannelSftp].put(String,String,com.jcraft.jsch.SftpProgressMonitor)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].put(String,String,com.jcraft.jsch.SftpProgressMonitor,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].put(String,String,com.jcraft.jsch.SftpProgressMonitor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:373,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].localAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:375,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:376,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
      Src: com.jcraft.jsch.ChannelSftp:378,1
    - Dst: '[java.util.Vector<String>].size()'
      Src: com.jcraft.jsch.ChannelSftp:379,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isPattern(String)'
      Src: com.jcraft.jsch.ChannelSftp:382,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:383,1
    - Dst: '[com.jcraft.jsch.Util].unquote(String)'
      Src: com.jcraft.jsch.ChannelSftp:385,1
    - Dst: '[java.util.Vector<String>].toString()'
      Src: com.jcraft.jsch.ChannelSftp:387,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:387,1
    - Dst: '[java.util.Vector<String>].elementAt(int)'
      Src: com.jcraft.jsch.ChannelSftp:389,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isRemoteDir(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:392,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].glob_local(String)'
      Src: com.jcraft.jsch.ChannelSftp:394,1
    - Dst: '[java.util.Vector<String>].size()'
      Src: com.jcraft.jsch.ChannelSftp:395,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].endsWith(String)'
      Src: com.jcraft.jsch.ChannelSftp:399,1
    - Dst: '[StringBuilder].<init>(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:402,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:404,1
    - Dst: '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:409,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].lastIndexOf(char)'
      Src: com.jcraft.jsch.ChannelSftp:412,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].lastIndexOf(char)'
      Src: com.jcraft.jsch.ChannelSftp:414,1
    - Dst: '[StringBuilder].append(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:419,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].substring(int)'
      Src: com.jcraft.jsch.ChannelSftp:421,1
    - Dst: '[StringBuilder].append(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:421,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.ChannelSftp:422,1
    - Dst: dst.length()
      Src: com.jcraft.jsch.ChannelSftp:423,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].length()'
      Src: com.jcraft.jsch.ChannelSftp:423,1
    - Dst: '[StringBuilder].delete(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:423,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._stat(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:432,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getSize()'
      Src: com.jcraft.jsch.ChannelSftp:433,1
    - Dst: '[java.io.File].<init>(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:437,1
    - Dst: '[java.io.File].length()'
      Src: com.jcraft.jsch.ChannelSftp:437,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:439,1
    - Dst: (new File(_src)).length()
      Src: com.jcraft.jsch.ChannelSftp:447,1
    - Dst: '[com.jcraft.jsch.SftpProgressMonitor].init(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:447,1
    - Dst: '[com.jcraft.jsch.SftpProgressMonitor].count(long)'
      Src: com.jcraft.jsch.ChannelSftp:449,1
    - Dst: '[java.io.FileInputStream].<init>(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:452,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._put(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpProgressMonitor,int)'
      Src: com.jcraft.jsch.ChannelSftp:453,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:459,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:459,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 74
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - com.jcraft.jsch.SftpProgressMonitor
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 4
    argNames:
    - src
    - dst
    - monitor
    - mode
    argTypes:
    - String
    - String
    - com.jcraft.jsch.SftpProgressMonitor
    - int
    constantsTouched: []
    func_position:
      end: 461
      start: 369
    functionDepth: 8
    functionLinenumber: 369
    functionLinenumberEnd: 461
    functionName: '[com.jcraft.jsch.ChannelSftp].put(String,String,com.jcraft.jsch.SftpProgressMonitor,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].localAbsolutePath(String)'
    - '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
    - '[com.jcraft.jsch.ChannelSftp].isRemoteDir(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].glob_local(String)'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].substring(int)'
    - '[com.jcraft.jsch.SftpProgressMonitor].count(long)'
    - '[com.jcraft.jsch.Util].unquote(String)'
    - '[java.util.Vector<String>].size()'
    - dst.length()
    - '[StringBuilder].append(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp]._stat(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[StringBuilder].delete(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[java.io.File].<init>(com.jcraft.jsch.ChannelSftp)'
    - '[java.io.File].length()'
    - '[com.jcraft.jsch.ChannelSftp]._put(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpProgressMonitor,int)'
    - '[com.jcraft.jsch.ChannelSftp].lastIndexOf(char)'
    - '[java.util.Vector<String>].toString()'
    - '[com.jcraft.jsch.SftpATTRS].getSize()'
    - '[StringBuilder].toString()'
    - '[com.jcraft.jsch.ChannelSftp].length()'
    - '[com.jcraft.jsch.ChannelSftp].isPattern(String)'
    - '[java.io.FileInputStream].<init>(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].endsWith(String)'
    - '[StringBuilder].<init>(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpProgressMonitor].init(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[java.util.Vector<String>].elementAt(int)'
    - '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
    - (new File(_src)).length()
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].put(String,String,com.jcraft.jsch.SftpProgressMonitor,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,null,int)'
      Src: com.jcraft.jsch.ChannelSftp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - java.io.InputStream
    - String
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,null,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,null,int)'
      Src: com.jcraft.jsch.ChannelSftp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - src
    - dst
    - mode
    argTypes:
    - java.io.InputStream
    - String
    - int
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,null,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,com.jcraft.jsch.SftpProgressMonitor,int)'
      Src: com.jcraft.jsch.ChannelSftp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - String
      - com.jcraft.jsch.SftpProgressMonitor
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - src
    - dst
    - monitor
    argTypes:
    - java.io.InputStream
    - String
    - com.jcraft.jsch.SftpProgressMonitor
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 9
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,com.jcraft.jsch.SftpProgressMonitor)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,com.jcraft.jsch.SftpProgressMonitor,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,com.jcraft.jsch.SftpProgressMonitor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:487,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:489,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
      Src: com.jcraft.jsch.ChannelSftp:491,1
    - Dst: '[java.util.Vector<String>].size()'
      Src: com.jcraft.jsch.ChannelSftp:492,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isPattern(String)'
      Src: com.jcraft.jsch.ChannelSftp:495,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:496,1
    - Dst: '[com.jcraft.jsch.Util].unquote(String)'
      Src: com.jcraft.jsch.ChannelSftp:498,1
    - Dst: '[java.util.Vector<String>].toString()'
      Src: com.jcraft.jsch.ChannelSftp:500,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:500,1
    - Dst: '[java.util.Vector<String>].elementAt(int)'
      Src: com.jcraft.jsch.ChannelSftp:502,1
    - Dst: '[com.jcraft.jsch.SftpProgressMonitor].init(com.jcraft.jsch.ChannelSftp,String,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:506,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._put(java.io.InputStream,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpProgressMonitor,int)'
      Src: com.jcraft.jsch.ChannelSftp:509,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isRemoteDir(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:512,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:513,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:517,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:517,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - String
      - com.jcraft.jsch.SftpProgressMonitor
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 4
    argNames:
    - src
    - dst
    - monitor
    - mode
    argTypes:
    - java.io.InputStream
    - String
    - com.jcraft.jsch.SftpProgressMonitor
    - int
    constantsTouched: []
    func_position:
      end: 519
      start: 484
    functionDepth: 8
    functionLinenumber: 484
    functionLinenumberEnd: 519
    functionName: '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,com.jcraft.jsch.SftpProgressMonitor,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp]._put(java.io.InputStream,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpProgressMonitor,int)'
    - '[com.jcraft.jsch.ChannelSftp].isPattern(String)'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
    - '[com.jcraft.jsch.Util].unquote(String)'
    - '[java.util.Vector<String>].size()'
    - '[com.jcraft.jsch.SftpProgressMonitor].init(com.jcraft.jsch.ChannelSftp,String,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].isRemoteDir(com.jcraft.jsch.ChannelSftp)'
    - '[java.util.Vector<String>].elementAt(int)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[java.util.Vector<String>].toString()'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,com.jcraft.jsch.SftpProgressMonitor,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:524,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:526,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._stat(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:530,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getSize()'
      Src: com.jcraft.jsch.ChannelSftp:531,1
    - Dst: '[java.io.InputStream].skip(long)'
      Src: com.jcraft.jsch.ChannelSftp:537,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:539,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendOPENW(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:544,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendOPENA(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:546,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:549,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:550,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:554,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:557,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:560,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:561,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:563,1
    - Dst: session.getBufferMargin()
      Src: com.jcraft.jsch.ChannelSftp:568,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].size()'
      Src: com.jcraft.jsch.ChannelSftp:591,1
    - Dst: '[java.io.InputStream].read(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:600,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].checkStatus(int[],Header)'
      Src: com.jcraft.jsch.ChannelSftp:614,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getSession()'
      Src: com.jcraft.jsch.ChannelSftp:618,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getLogger()'
      Src: com.jcraft.jsch.ChannelSftp:618,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isEnabled(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:618,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getSession()'
      Src: com.jcraft.jsch.ChannelSftp:619,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getLogger()'
      Src: com.jcraft.jsch.ChannelSftp:619,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].log(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:619,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:623,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendWRITE(byte[],com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,int,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:634,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendWRITE(byte[],com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,int)'
      Src: com.jcraft.jsch.ChannelSftp:640,1
    - Dst: '[com.jcraft.jsch.SftpProgressMonitor].count(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:644,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].checkStatus(null,Header)'
      Src: com.jcraft.jsch.ChannelSftp:650,1
    - Dst: '[com.jcraft.jsch.SftpProgressMonitor].end()'
      Src: com.jcraft.jsch.ChannelSftp:656,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._sendCLOSE(byte[],Header)'
      Src: com.jcraft.jsch.ChannelSftp:657,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:661,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:661,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 126
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - String
      - com.jcraft.jsch.SftpProgressMonitor
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 4
    argNames:
    - src
    - dst
    - monitor
    - mode
    argTypes:
    - java.io.InputStream
    - String
    - com.jcraft.jsch.SftpProgressMonitor
    - int
    constantsTouched: []
    func_position:
      end: 663
      start: 521
    functionDepth: 5
    functionLinenumber: 521
    functionLinenumberEnd: 663
    functionName: '[com.jcraft.jsch.ChannelSftp]._put(java.io.InputStream,String,com.jcraft.jsch.SftpProgressMonitor,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[java.io.InputStream].read(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].size()'
    - '[com.jcraft.jsch.ChannelSftp].sendWRITE(byte[],com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,int)'
    - '[com.jcraft.jsch.SftpProgressMonitor].count(com.jcraft.jsch.ChannelSftp)'
    - '[Header].<init>()'
    - '[com.jcraft.jsch.ChannelSftp].getLogger()'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp)'
    - '[java.io.InputStream].skip(long)'
    - '[com.jcraft.jsch.ChannelSftp].sendOPENA(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].sendOPENW(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - e.toString()
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.ChannelSftp].sendWRITE(byte[],com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,int,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp].getSession()'
    - '[com.jcraft.jsch.ChannelSftp].checkStatus(int[],Header)'
    - '[com.jcraft.jsch.SftpProgressMonitor].end()'
    - '[com.jcraft.jsch.ChannelSftp].checkStatus(null,Header)'
    - '[com.jcraft.jsch.SftpATTRS].getSize()'
    - '[com.jcraft.jsch.ChannelSftp].isEnabled(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].log(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - session.getBufferMargin()
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp]._sendCLOSE(byte[],Header)'
    - '[com.jcraft.jsch.ChannelSftp]._stat(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp]._put(java.io.InputStream,String,com.jcraft.jsch.SftpProgressMonitor,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].put(String,com.jcraft.jsch.SftpProgressMonitor,int)'
      Src: com.jcraft.jsch.ChannelSftp:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.OutputStream
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - dst
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 667
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 667
    functionName: '[com.jcraft.jsch.ChannelSftp].put(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].put(String,com.jcraft.jsch.SftpProgressMonitor,int)'
    linkageType: ''
    returnType: java.io.OutputStream
    signature: '[com.jcraft.jsch.ChannelSftp].put(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].put(String,com.jcraft.jsch.SftpProgressMonitor,int)'
      Src: com.jcraft.jsch.ChannelSftp:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.OutputStream
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - dst
    - mode
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: '[com.jcraft.jsch.ChannelSftp].put(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].put(String,com.jcraft.jsch.SftpProgressMonitor,int)'
    linkageType: ''
    returnType: java.io.OutputStream
    signature: '[com.jcraft.jsch.ChannelSftp].put(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].put(String,com.jcraft.jsch.SftpProgressMonitor,int,int)'
      Src: com.jcraft.jsch.ChannelSftp:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - com.jcraft.jsch.SftpProgressMonitor
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.OutputStream
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - dst
    - monitor
    - mode
    argTypes:
    - String
    - com.jcraft.jsch.SftpProgressMonitor
    - int
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: '[com.jcraft.jsch.ChannelSftp].put(String,com.jcraft.jsch.SftpProgressMonitor,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].put(String,com.jcraft.jsch.SftpProgressMonitor,int,int)'
    linkageType: ''
    returnType: java.io.OutputStream
    signature: '[com.jcraft.jsch.ChannelSftp].put(String,com.jcraft.jsch.SftpProgressMonitor,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:691,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:693,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
      Src: com.jcraft.jsch.ChannelSftp:694,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isRemoteDir(String)'
      Src: com.jcraft.jsch.ChannelSftp:696,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:697,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:700,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._stat(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:705,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getSize()'
      Src: com.jcraft.jsch.ChannelSftp:706,1
    - Dst: '[com.jcraft.jsch.SftpProgressMonitor].init(com.jcraft.jsch.ChannelSftp,String,String,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:713,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendOPENW(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:717,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendOPENA(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:719,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:722,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:723,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:727,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:730,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:733,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:734,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:736,1
    - Dst: '[java.io.OutputStream].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:744,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:858,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:858,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 105
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - com.jcraft.jsch.SftpProgressMonitor
      - int
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.OutputStream
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 4
    argNames:
    - dst
    - monitor
    - mode
    - offset
    argTypes:
    - String
    - com.jcraft.jsch.SftpProgressMonitor
    - int
    - long
    constantsTouched: []
    func_position:
      end: 860
      start: 688
    functionDepth: 8
    functionLinenumber: 688
    functionLinenumberEnd: 860
    functionName: '[com.jcraft.jsch.ChannelSftp].put(String,com.jcraft.jsch.SftpProgressMonitor,int,long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpProgressMonitor].init(com.jcraft.jsch.ChannelSftp,String,String,com.jcraft.jsch.ChannelSftp)'
    - '[Header].<init>()'
    - '[com.jcraft.jsch.ChannelSftp].sendOPENA(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].sendOPENW(byte[])'
    - '[java.io.OutputStream].<init>()'
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp].isRemoteDir(String)'
    - '[com.jcraft.jsch.SftpATTRS].getSize()'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp]._stat(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: java.io.OutputStream
    signature: '[com.jcraft.jsch.ChannelSftp].put(String,com.jcraft.jsch.SftpProgressMonitor,int,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].get(String,String,null,int)'
      Src: com.jcraft.jsch.ChannelSftp:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 864
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 864
    functionName: '[com.jcraft.jsch.ChannelSftp].get(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].get(String,String,null,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].get(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].get(String,String,com.jcraft.jsch.SftpProgressMonitor,int)'
      Src: com.jcraft.jsch.ChannelSftp:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - com.jcraft.jsch.SftpProgressMonitor
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - src
    - dst
    - monitor
    argTypes:
    - String
    - String
    - com.jcraft.jsch.SftpProgressMonitor
    constantsTouched: []
    func_position:
      end: 868
      start: 866
    functionDepth: 9
    functionLinenumber: 866
    functionLinenumberEnd: 868
    functionName: '[com.jcraft.jsch.ChannelSftp].get(String,String,com.jcraft.jsch.SftpProgressMonitor)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].get(String,String,com.jcraft.jsch.SftpProgressMonitor,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].get(String,String,com.jcraft.jsch.SftpProgressMonitor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:877,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:879,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].localAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:880,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
      Src: com.jcraft.jsch.ChannelSftp:882,1
    - Dst: '[java.util.Vector<String>].size()'
      Src: com.jcraft.jsch.ChannelSftp:883,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:885,1
    - Dst: '[java.io.File].<init>(String)'
      Src: com.jcraft.jsch.ChannelSftp:888,1
    - Dst: '[java.io.File].isDirectory()'
      Src: com.jcraft.jsch.ChannelSftp:889,1
    - Dst: '[String].endsWith(String)'
      Src: com.jcraft.jsch.ChannelSftp:892,1
    - Dst: '[StringBuilder].<init>(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:895,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:897,1
    - Dst: '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:902,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._stat(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:903,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].isDir()'
      Src: com.jcraft.jsch.ChannelSftp:904,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:905,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].lastIndexOf(char)'
      Src: com.jcraft.jsch.ChannelSftp:910,1
    - Dst: '[StringBuilder].append(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:912,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].substring(int)'
      Src: com.jcraft.jsch.ChannelSftp:914,1
    - Dst: '[StringBuilder].append(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:914,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.ChannelSftp:915,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].indexOf(String)'
      Src: com.jcraft.jsch.ChannelSftp:916,1
    - Dst: (new File(dst)).getCanonicalPath()
      Src: com.jcraft.jsch.ChannelSftp:917,1
    - Dst: (new File(_dst)).getCanonicalPath()
      Src: com.jcraft.jsch.ChannelSftp:918,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].length()'
      Src: com.jcraft.jsch.ChannelSftp:919,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].length()'
      Src: com.jcraft.jsch.ChannelSftp:919,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].length()'
      Src: com.jcraft.jsch.ChannelSftp:920,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].substring(int,int)'
      Src: com.jcraft.jsch.ChannelSftp:920,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].equals(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:920,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:921,1
    - Dst: dst.length()
      Src: com.jcraft.jsch.ChannelSftp:924,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].length()'
      Src: com.jcraft.jsch.ChannelSftp:924,1
    - Dst: '[StringBuilder].delete(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:924,1
    - Dst: '[java.io.File].<init>(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:929,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getSize()'
      Src: com.jcraft.jsch.ChannelSftp:931,1
    - Dst: '[java.io.File].length()'
      Src: com.jcraft.jsch.ChannelSftp:932,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:934,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getSize()'
      Src: com.jcraft.jsch.ChannelSftp:942,1
    - Dst: '[com.jcraft.jsch.SftpProgressMonitor].init(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,long)'
      Src: com.jcraft.jsch.ChannelSftp:942,1
    - Dst: '[java.io.File].length()'
      Src: com.jcraft.jsch.ChannelSftp:944,1
    - Dst: '[com.jcraft.jsch.SftpProgressMonitor].count(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:944,1
    - Dst: '[java.io.File].exists()'
      Src: com.jcraft.jsch.ChannelSftp:948,1
    - Dst: '[java.io.FileOutputStream].<init>(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:949,1
    - Dst: '[java.io.FileOutputStream].<init>(com.jcraft.jsch.ChannelSftp,boolean)'
      Src: com.jcraft.jsch.ChannelSftp:950,1
    - Dst: '[java.io.File].<init>(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:952,1
    - Dst: '[java.io.File].length()'
      Src: com.jcraft.jsch.ChannelSftp:952,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._get(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpProgressMonitor,int,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:952,1
    - Dst: '[java.io.File].<init>(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:957,1
    - Dst: '[java.io.File].exists()'
      Src: com.jcraft.jsch.ChannelSftp:958,1
    - Dst: '[java.io.File].length()'
      Src: com.jcraft.jsch.ChannelSftp:958,1
    - Dst: '[java.io.File].delete()'
      Src: com.jcraft.jsch.ChannelSftp:959,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:964,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:964,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 95
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - com.jcraft.jsch.SftpProgressMonitor
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 4
    argNames:
    - src
    - dst
    - monitor
    - mode
    argTypes:
    - String
    - String
    - com.jcraft.jsch.SftpProgressMonitor
    - int
    constantsTouched: []
    func_position:
      end: 966
      start: 870
    functionDepth: 8
    functionLinenumber: 870
    functionLinenumberEnd: 966
    functionName: '[com.jcraft.jsch.ChannelSftp].get(String,String,com.jcraft.jsch.SftpProgressMonitor,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].localAbsolutePath(String)'
    - '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
    - '[java.io.File].isDirectory()'
    - '[com.jcraft.jsch.SftpProgressMonitor].count(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpProgressMonitor].init(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,long)'
    - '[com.jcraft.jsch.ChannelSftp].equals(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].substring(int)'
    - '[java.util.Vector<String>].size()'
    - dst.length()
    - '[StringBuilder].append(com.jcraft.jsch.ChannelSftp)'
    - '[java.io.File].<init>(String)'
    - '[com.jcraft.jsch.ChannelSftp]._stat(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].substring(int,int)'
    - '[java.io.FileOutputStream].<init>(com.jcraft.jsch.ChannelSftp,boolean)'
    - '[com.jcraft.jsch.ChannelSftp]._get(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpProgressMonitor,int,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[StringBuilder].delete(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[java.io.File].<init>(com.jcraft.jsch.ChannelSftp)'
    - '[String].endsWith(String)'
    - '[java.io.File].length()'
    - '[java.io.File].exists()'
    - '[com.jcraft.jsch.ChannelSftp].lastIndexOf(char)'
    - '[com.jcraft.jsch.ChannelSftp].indexOf(String)'
    - (new File(dst)).getCanonicalPath()
    - '[java.io.FileOutputStream].<init>(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpATTRS].getSize()'
    - (new File(_dst)).getCanonicalPath()
    - '[StringBuilder].toString()'
    - '[com.jcraft.jsch.ChannelSftp].length()'
    - '[StringBuilder].<init>(com.jcraft.jsch.ChannelSftp)'
    - '[java.io.File].delete()'
    - '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpATTRS].isDir()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].get(String,String,com.jcraft.jsch.SftpProgressMonitor,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].get(String,java.io.OutputStream,null,int,int)'
      Src: com.jcraft.jsch.ChannelSftp:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - String
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 970
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 970
    functionName: '[com.jcraft.jsch.ChannelSftp].get(String,java.io.OutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].get(String,java.io.OutputStream,null,int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].get(String,java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].get(String,java.io.OutputStream,com.jcraft.jsch.SftpProgressMonitor,int,int)'
      Src: com.jcraft.jsch.ChannelSftp:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.io.OutputStream
      - com.jcraft.jsch.SftpProgressMonitor
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - src
    - dst
    - monitor
    argTypes:
    - String
    - java.io.OutputStream
    - com.jcraft.jsch.SftpProgressMonitor
    constantsTouched: []
    func_position:
      end: 974
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 974
    functionName: '[com.jcraft.jsch.ChannelSftp].get(String,java.io.OutputStream,com.jcraft.jsch.SftpProgressMonitor)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].get(String,java.io.OutputStream,com.jcraft.jsch.SftpProgressMonitor,int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].get(String,java.io.OutputStream,com.jcraft.jsch.SftpProgressMonitor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:980,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:982,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
      Src: com.jcraft.jsch.ChannelSftp:983,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._stat(String)'
      Src: com.jcraft.jsch.ChannelSftp:986,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getSize()'
      Src: com.jcraft.jsch.ChannelSftp:987,1
    - Dst: '[com.jcraft.jsch.SftpProgressMonitor].init(com.jcraft.jsch.ChannelSftp,String,String,long)'
      Src: com.jcraft.jsch.ChannelSftp:987,1
    - Dst: '[com.jcraft.jsch.SftpProgressMonitor].count(long)'
      Src: com.jcraft.jsch.ChannelSftp:989,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._get(String,java.io.OutputStream,com.jcraft.jsch.SftpProgressMonitor,int,long)'
      Src: com.jcraft.jsch.ChannelSftp:992,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:996,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:996,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.io.OutputStream
      - com.jcraft.jsch.SftpProgressMonitor
      - int
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 5
    argNames:
    - src
    - dst
    - monitor
    - mode
    - skip
    argTypes:
    - String
    - java.io.OutputStream
    - com.jcraft.jsch.SftpProgressMonitor
    - int
    - long
    constantsTouched: []
    func_position:
      end: 998
      start: 976
    functionDepth: 8
    functionLinenumber: 976
    functionLinenumberEnd: 998
    functionName: '[com.jcraft.jsch.ChannelSftp].get(String,java.io.OutputStream,com.jcraft.jsch.SftpProgressMonitor,int,long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpProgressMonitor].count(long)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp]._stat(String)'
    - '[com.jcraft.jsch.SftpProgressMonitor].init(com.jcraft.jsch.ChannelSftp,String,String,long)'
    - '[com.jcraft.jsch.ChannelSftp]._get(String,java.io.OutputStream,com.jcraft.jsch.SftpProgressMonitor,int,long)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
    - '[com.jcraft.jsch.SftpATTRS].getSize()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].get(String,java.io.OutputStream,com.jcraft.jsch.SftpProgressMonitor,int,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1004,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendOPENR(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:1006,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:1008,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:1009,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1013,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1016,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:1020,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:1021,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:1024,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].init()'
      Src: com.jcraft.jsch.ChannelSftp:1032,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].count()'
      Src: com.jcraft.jsch.ChannelSftp:1042,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendREAD(byte[],com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,RequestQueue)'
      Src: com.jcraft.jsch.ChannelSftp:1043,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:1047,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].get(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1053,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].skip(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1056,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].cancel(Header,com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:1057,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1062,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:1063,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:1067,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.ChannelSftp:1074,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,int)'
      Src: com.jcraft.jsch.ChannelSftp:1075,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:1077,1
    - Dst: '[java.io.InputStream].read(byte[],int,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1092,1
    - Dst: '[java.io.OutputStream].write(byte[],int,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1097,1
    - Dst: '[com.jcraft.jsch.SftpProgressMonitor].count(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1103,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].skip(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1104,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].skip(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1106,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].skip(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1115,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].cancel(Header,com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:1119,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendREAD(byte[],com.jcraft.jsch.ChannelSftp,int,RequestQueue)'
      Src: com.jcraft.jsch.ChannelSftp:1120,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].size()'
      Src: com.jcraft.jsch.ChannelSftp:1124,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: com.jcraft.jsch.ChannelSftp:1128,1
    - Dst: '[com.jcraft.jsch.SftpProgressMonitor].end()'
      Src: com.jcraft.jsch.ChannelSftp:1131,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].cancel(Header,com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:1133,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._sendCLOSE(byte[],Header)'
      Src: com.jcraft.jsch.ChannelSftp:1135,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:1139,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1139,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 80
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.io.OutputStream
      - com.jcraft.jsch.SftpProgressMonitor
      - int
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 5
    argNames:
    - src
    - dst
    - monitor
    - mode
    - skip
    argTypes:
    - String
    - java.io.OutputStream
    - com.jcraft.jsch.SftpProgressMonitor
    - int
    - long
    constantsTouched: []
    func_position:
      end: 1141
      start: 1000
    functionDepth: 5
    functionLinenumber: 1000
    functionLinenumberEnd: 1141
    functionName: '[com.jcraft.jsch.ChannelSftp]._get(String,java.io.OutputStream,com.jcraft.jsch.SftpProgressMonitor,int,long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].get(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].size()'
    - '[java.io.OutputStream].flush()'
    - '[com.jcraft.jsch.SftpProgressMonitor].count(com.jcraft.jsch.ChannelSftp)'
    - '[Header].<init>()'
    - '[java.io.OutputStream].write(byte[],int,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].skip(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].sendREAD(byte[],com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp,RequestQueue)'
    - '[java.io.InputStream].read(byte[],int,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].count()'
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - e.toString()
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].cancel(Header,com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].init()'
    - '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,int)'
    - '[com.jcraft.jsch.ChannelSftp].sendREAD(byte[],com.jcraft.jsch.ChannelSftp,int,RequestQueue)'
    - '[com.jcraft.jsch.Buffer].rewind()'
    - '[com.jcraft.jsch.SftpProgressMonitor].end()'
    - '[com.jcraft.jsch.ChannelSftp].sendOPENR(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp]._sendCLOSE(byte[],Header)'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp]._get(String,java.io.OutputStream,com.jcraft.jsch.SftpProgressMonitor,int,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].get(String,null,int)'
      Src: com.jcraft.jsch.ChannelSftp:1249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - src
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1250
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1250
    functionName: '[com.jcraft.jsch.ChannelSftp].get(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].get(String,null,int)'
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[com.jcraft.jsch.ChannelSftp].get(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].get(String,com.jcraft.jsch.SftpProgressMonitor,int)'
      Src: com.jcraft.jsch.ChannelSftp:1253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - com.jcraft.jsch.SftpProgressMonitor
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - src
    - monitor
    argTypes:
    - String
    - com.jcraft.jsch.SftpProgressMonitor
    constantsTouched: []
    func_position:
      end: 1254
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1254
    functionName: '[com.jcraft.jsch.ChannelSftp].get(String,com.jcraft.jsch.SftpProgressMonitor)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].get(String,com.jcraft.jsch.SftpProgressMonitor,int)'
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[com.jcraft.jsch.ChannelSftp].get(String,com.jcraft.jsch.SftpProgressMonitor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].get(String,null,int)'
      Src: com.jcraft.jsch.ChannelSftp:1261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - src
    - mode
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 1262
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1262
    functionName: '[com.jcraft.jsch.ChannelSftp].get(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].get(String,null,int)'
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[com.jcraft.jsch.ChannelSftp].get(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].get(String,com.jcraft.jsch.SftpProgressMonitor,int)'
      Src: com.jcraft.jsch.ChannelSftp:1270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - com.jcraft.jsch.SftpProgressMonitor
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - src
    - monitor
    - mode
    argTypes:
    - String
    - com.jcraft.jsch.SftpProgressMonitor
    - int
    constantsTouched: []
    func_position:
      end: 1271
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1271
    functionName: '[com.jcraft.jsch.ChannelSftp].get(String,com.jcraft.jsch.SftpProgressMonitor,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].get(String,com.jcraft.jsch.SftpProgressMonitor,int)'
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[com.jcraft.jsch.ChannelSftp].get(String,com.jcraft.jsch.SftpProgressMonitor,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:1277,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:1279,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
      Src: com.jcraft.jsch.ChannelSftp:1280,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1282,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._stat(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:1284,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getSize()'
      Src: com.jcraft.jsch.ChannelSftp:1286,1
    - Dst: '[com.jcraft.jsch.SftpProgressMonitor].init(com.jcraft.jsch.ChannelSftp,String,String,long)'
      Src: com.jcraft.jsch.ChannelSftp:1286,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendOPENR(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:1289,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:1291,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:1292,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1296,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1299,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:1302,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:1303,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:1306,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].init()'
      Src: com.jcraft.jsch.ChannelSftp:1308,1
    - Dst: '[java.io.InputStream].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:1310,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:1524,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1524,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 157
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - com.jcraft.jsch.SftpProgressMonitor
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - src
    - monitor
    - skip
    argTypes:
    - String
    - com.jcraft.jsch.SftpProgressMonitor
    - long
    constantsTouched: []
    func_position:
      end: 1526
      start: 1273
    functionDepth: 8
    functionLinenumber: 1273
    functionLinenumberEnd: 1526
    functionName: '[com.jcraft.jsch.ChannelSftp].get(String,com.jcraft.jsch.SftpProgressMonitor,long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpProgressMonitor].init(com.jcraft.jsch.ChannelSftp,String,String,long)'
    - '[Header].<init>()'
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].init()'
    - '[com.jcraft.jsch.SftpATTRS].getSize()'
    - '[com.jcraft.jsch.ChannelSftp].sendOPENR(byte[])'
    - '[java.io.InputStream].<init>()'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp]._stat(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[com.jcraft.jsch.ChannelSftp].get(String,com.jcraft.jsch.SftpProgressMonitor,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:1529,1
    - Dst: '[LsEntrySelector].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:1530,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].ls(String,LsEntrySelector)'
      Src: com.jcraft.jsch.ChannelSftp:1537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Vector<LsEntry>
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1539
      start: 1528
    functionDepth: 9
    functionLinenumber: 1528
    functionLinenumberEnd: 1539
    functionName: '[com.jcraft.jsch.ChannelSftp].ls(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[LsEntrySelector].<init>()'
    - '[com.jcraft.jsch.ChannelSftp].ls(String,LsEntrySelector)'
    linkageType: ''
    returnType: java.util.Vector<LsEntry>
    signature: '[com.jcraft.jsch.ChannelSftp].ls(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:1552,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:1554,1
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:1556,1
    - Dst: '[String].lastIndexOf(char)'
      Src: com.jcraft.jsch.ChannelSftp:1558,1
    - Dst: '[String].substring(int)'
      Src: com.jcraft.jsch.ChannelSftp:1559,1
    - Dst: '[String].substring(int)'
      Src: com.jcraft.jsch.ChannelSftp:1560,1
    - Dst: '[com.jcraft.jsch.Util].unquote(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1561,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isPattern(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1566,1
    - Dst: '[com.jcraft.jsch.Util].unquote(String)'
      Src: com.jcraft.jsch.ChannelSftp:1571,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._stat(String)'
      Src: com.jcraft.jsch.ChannelSftp:1573,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].isDir()'
      Src: com.jcraft.jsch.ChannelSftp:1574,1
    - Dst: '[com.jcraft.jsch.Util].unquote(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1586,1
    - Dst: '[com.jcraft.jsch.Util].unquote(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1588,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1589,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelSftp,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1594,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendOPENDIR(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:1594,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:1596,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:1597,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1601,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1604,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:1607,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:1608,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:1612,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendREADDIR(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:1616,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:1618,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1622,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1625,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:1626,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:1629,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.ChannelSftp:1632,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,int)'
      Src: com.jcraft.jsch.ChannelSftp:1633,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:1635,1
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.ChannelSftp:1640,1
    - Dst: '[com.jcraft.jsch.Buffer].shift()'
      Src: com.jcraft.jsch.ChannelSftp:1643,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1646,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:1650,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:1653,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:1655,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],byte[])'
      Src: com.jcraft.jsch.ChannelSftp:1667,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.ChannelSftp,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1671,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1672,1
    - Dst: '[com.jcraft.jsch.Util].glob(byte[],byte[])'
      Src: com.jcraft.jsch.ChannelSftp:1674,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1679,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].toString()'
      Src: com.jcraft.jsch.ChannelSftp:1685,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1687,1
    - Dst: '[LsEntry].<init>(String,String,com.jcraft.jsch.SftpATTRS)'
      Src: com.jcraft.jsch.ChannelSftp:1690,1
    - Dst: '[LsEntrySelector].select(LsEntry)'
      Src: com.jcraft.jsch.ChannelSftp:1690,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._sendCLOSE(byte[],Header)'
      Src: com.jcraft.jsch.ChannelSftp:1696,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:1707,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1707,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 110
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - LsEntrySelector
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - path
    - selector
    argTypes:
    - String
    - LsEntrySelector
    constantsTouched: []
    func_position:
      end: 1709
      start: 1549
    functionDepth: 8
    functionLinenumber: 1549
    functionLinenumberEnd: 1709
    functionName: '[com.jcraft.jsch.ChannelSftp].ls(String,LsEntrySelector)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].sendREADDIR(byte[])'
    - '[com.jcraft.jsch.Util].unquote(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.ChannelSftp,java.nio.charset.Charset)'
    - '[Header].<init>()'
    - '[com.jcraft.jsch.Util].glob(byte[],byte[])'
    - '[com.jcraft.jsch.ChannelSftp].sendOPENDIR(byte[])'
    - '[com.jcraft.jsch.SftpATTRS].toString()'
    - '[String].substring(int)'
    - '[com.jcraft.jsch.Util].str2byte(String,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Util].unquote(String)'
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[com.jcraft.jsch.Buffer].reset()'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[String].lastIndexOf(char)'
    - '[com.jcraft.jsch.Util].array_equals(byte[],byte[])'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelSftp,java.nio.charset.Charset)'
    - '[LsEntry].<init>(String,String,com.jcraft.jsch.SftpATTRS)'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,int)'
    - '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
    - '[LsEntrySelector].select(LsEntry)'
    - '[com.jcraft.jsch.Buffer].rewind()'
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.ChannelSftp].isPattern(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp]._sendCLOSE(byte[],Header)'
    - '[com.jcraft.jsch.ChannelSftp]._stat(String)'
    - '[com.jcraft.jsch.Buffer].shift()'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.SftpATTRS].isDir()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].ls(String,LsEntrySelector)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1714,1
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:1718,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:1720,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
      Src: com.jcraft.jsch.ChannelSftp:1722,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1724,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendREADLINK(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:1724,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:1726,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:1727,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1731,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1734,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:1737,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:1740,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:1742,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:1744,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1746,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:1749,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:1750,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:1754,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1754,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1757
      start: 1711
    functionDepth: 8
    functionLinenumber: 1711
    functionLinenumberEnd: 1757
    functionName: '[com.jcraft.jsch.ChannelSftp].readlink(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.ChannelSftp].sendREADLINK(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
    - '[Header].<init>()'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelSftp].readlink(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1761,1
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:1766,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:1768,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:1769,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
      Src: com.jcraft.jsch.ChannelSftp:1771,1
    - Dst: '[String].charAt(int)'
      Src: com.jcraft.jsch.ChannelSftp:1772,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getCwd()'
      Src: com.jcraft.jsch.ChannelSftp:1773,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.ChannelSftp:1774,1
    - Dst: '[String].substring(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1774,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isPattern(String)'
      Src: com.jcraft.jsch.ChannelSftp:1779,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1780,1
    - Dst: '[com.jcraft.jsch.Util].unquote(String)'
      Src: com.jcraft.jsch.ChannelSftp:1782,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelSftp,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1784,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1784,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendSYMLINK(byte[],byte[])'
      Src: com.jcraft.jsch.ChannelSftp:1784,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:1786,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:1787,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1791,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1794,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:1797,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:1800,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:1804,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1804,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - oldpath
    - newpath
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 1806
      start: 1759
    functionDepth: 8
    functionLinenumber: 1759
    functionLinenumberEnd: 1806
    functionName: '[com.jcraft.jsch.ChannelSftp].symlink(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendSYMLINK(byte[],byte[])'
    - '[String].length()'
    - '[Header].<init>()'
    - '[com.jcraft.jsch.Util].unquote(String)'
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.ChannelSftp].getCwd()'
    - '[String].charAt(int)'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelSftp,java.nio.charset.Charset)'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[String].substring(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].isPattern(String)'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].symlink(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1810,1
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:1814,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:1816,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:1817,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
      Src: com.jcraft.jsch.ChannelSftp:1819,1
    - Dst: '[String].charAt(int)'
      Src: com.jcraft.jsch.ChannelSftp:1820,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getCwd()'
      Src: com.jcraft.jsch.ChannelSftp:1821,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.ChannelSftp:1822,1
    - Dst: '[String].substring(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1822,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isPattern(String)'
      Src: com.jcraft.jsch.ChannelSftp:1827,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1828,1
    - Dst: '[com.jcraft.jsch.Util].unquote(String)'
      Src: com.jcraft.jsch.ChannelSftp:1830,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelSftp,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1832,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1832,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendHARDLINK(byte[],byte[])'
      Src: com.jcraft.jsch.ChannelSftp:1832,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:1834,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:1835,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1839,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1842,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:1845,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:1848,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:1852,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1852,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - oldpath
    - newpath
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 1854
      start: 1808
    functionDepth: 8
    functionLinenumber: 1808
    functionLinenumberEnd: 1854
    functionName: '[com.jcraft.jsch.ChannelSftp].hardlink(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[String].length()'
    - '[Header].<init>()'
    - '[com.jcraft.jsch.Util].unquote(String)'
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.ChannelSftp].getCwd()'
    - '[String].charAt(int)'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelSftp,java.nio.charset.Charset)'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[String].substring(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].isPattern(String)'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp].sendHARDLINK(byte[],byte[])'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].hardlink(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1858,1
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:1863,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:1865,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:1866,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
      Src: com.jcraft.jsch.ChannelSftp:1868,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
      Src: com.jcraft.jsch.ChannelSftp:1870,1
    - Dst: '[java.util.Vector<String>].size()'
      Src: com.jcraft.jsch.ChannelSftp:1871,1
    - Dst: '[java.util.Vector<String>].toString()'
      Src: com.jcraft.jsch.ChannelSftp:1873,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1873,1
    - Dst: '[java.util.Vector<String>].elementAt(int)'
      Src: com.jcraft.jsch.ChannelSftp:1876,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isPattern(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1878,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1879,1
    - Dst: '[com.jcraft.jsch.Util].unquote(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1880,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1883,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1883,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendRENAME(byte[],byte[])'
      Src: com.jcraft.jsch.ChannelSftp:1883,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:1885,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:1886,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1890,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1893,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:1896,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:1899,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:1903,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1903,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - oldpath
    - newpath
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 1905
      start: 1856
    functionDepth: 8
    functionLinenumber: 1856
    functionLinenumberEnd: 1905
    functionName: '[com.jcraft.jsch.ChannelSftp].rename(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
    - '[com.jcraft.jsch.Util].unquote(com.jcraft.jsch.ChannelSftp)'
    - '[Header].<init>()'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp)'
    - '[java.util.Vector<String>].size()'
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[java.util.Vector<String>].toString()'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp].isPattern(com.jcraft.jsch.ChannelSftp)'
    - '[java.util.Vector<String>].elementAt(int)'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].sendRENAME(byte[],byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].rename(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:1909,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:1911,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
      Src: com.jcraft.jsch.ChannelSftp:1913,1
    - Dst: '[java.util.Vector<String>].size()'
      Src: com.jcraft.jsch.ChannelSftp:1914,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:1916,1
    - Dst: '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1919,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelSftp,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1920,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendREMOVE(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:1920,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:1922,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1926,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:1929,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:1931,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:1933,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:1939,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1939,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1941
      start: 1907
    functionDepth: 8
    functionLinenumber: 1907
    functionLinenumberEnd: 1941
    functionName: '[com.jcraft.jsch.ChannelSftp].rm(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelSftp,java.nio.charset.Charset)'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[java.util.Vector<String>].size()'
    - '[com.jcraft.jsch.ChannelSftp].sendREMOVE(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[Header].<init>()'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].rm(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:1945,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendSTAT(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:1945,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:1947,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:1948,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1952,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:1957,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].isDir()'
      Src: com.jcraft.jsch.ChannelSftp:1958,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1962
      start: 1943
    functionDepth: 4
    functionLinenumber: 1943
    functionLinenumberEnd: 1962
    functionName: '[com.jcraft.jsch.ChannelSftp].isRemoteDir(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp].sendSTAT(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - '[Header].<init>()'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpATTRS].isDir()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.ChannelSftp].isRemoteDir(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:1966,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:1968,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
      Src: com.jcraft.jsch.ChannelSftp:1970,1
    - Dst: '[java.util.Vector<String>].size()'
      Src: com.jcraft.jsch.ChannelSftp:1971,1
    - Dst: '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1973,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._stat(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1975,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].setFLAGS(int)'
      Src: com.jcraft.jsch.ChannelSftp:1977,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].setUIDGID(int,int)'
      Src: com.jcraft.jsch.ChannelSftp:1978,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._setStat(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpATTRS)'
      Src: com.jcraft.jsch.ChannelSftp:1979,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:1984,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1984,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - gid
    - path
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 1986
      start: 1964
    functionDepth: 8
    functionLinenumber: 1964
    functionLinenumberEnd: 1986
    functionName: '[com.jcraft.jsch.ChannelSftp].chgrp(int,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpATTRS].setFLAGS(int)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
    - '[com.jcraft.jsch.ChannelSftp]._setStat(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpATTRS)'
    - '[java.util.Vector<String>].size()'
    - '[com.jcraft.jsch.SftpATTRS].setUIDGID(int,int)'
    - '[com.jcraft.jsch.ChannelSftp]._stat(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].chgrp(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:1990,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:1992,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
      Src: com.jcraft.jsch.ChannelSftp:1994,1
    - Dst: '[java.util.Vector<String>].size()'
      Src: com.jcraft.jsch.ChannelSftp:1995,1
    - Dst: '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1997,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._stat(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:1999,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].setFLAGS(int)'
      Src: com.jcraft.jsch.ChannelSftp:2001,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].setUIDGID(int,int)'
      Src: com.jcraft.jsch.ChannelSftp:2002,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._setStat(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpATTRS)'
      Src: com.jcraft.jsch.ChannelSftp:2003,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2008,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2008,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - uid
    - path
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 2010
      start: 1988
    functionDepth: 8
    functionLinenumber: 1988
    functionLinenumberEnd: 2010
    functionName: '[com.jcraft.jsch.ChannelSftp].chown(int,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpATTRS].setFLAGS(int)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
    - '[com.jcraft.jsch.ChannelSftp]._setStat(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpATTRS)'
    - '[java.util.Vector<String>].size()'
    - '[com.jcraft.jsch.SftpATTRS].setUIDGID(int,int)'
    - '[com.jcraft.jsch.ChannelSftp]._stat(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].chown(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:2014,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:2016,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
      Src: com.jcraft.jsch.ChannelSftp:2018,1
    - Dst: '[java.util.Vector<String>].size()'
      Src: com.jcraft.jsch.ChannelSftp:2019,1
    - Dst: '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2021,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._stat(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2023,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].setFLAGS(int)'
      Src: com.jcraft.jsch.ChannelSftp:2025,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].setPERMISSIONS(int)'
      Src: com.jcraft.jsch.ChannelSftp:2026,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._setStat(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpATTRS)'
      Src: com.jcraft.jsch.ChannelSftp:2027,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2032,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2032,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - permissions
    - path
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 2034
      start: 2012
    functionDepth: 8
    functionLinenumber: 2012
    functionLinenumberEnd: 2034
    functionName: '[com.jcraft.jsch.ChannelSftp].chmod(int,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpATTRS].setFLAGS(int)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
    - '[com.jcraft.jsch.ChannelSftp]._setStat(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpATTRS)'
    - '[java.util.Vector<String>].size()'
    - '[com.jcraft.jsch.ChannelSftp]._stat(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpATTRS].setPERMISSIONS(int)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].chmod(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:2038,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:2040,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
      Src: com.jcraft.jsch.ChannelSftp:2042,1
    - Dst: '[java.util.Vector<String>].size()'
      Src: com.jcraft.jsch.ChannelSftp:2043,1
    - Dst: '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2045,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._stat(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2047,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].setFLAGS(int)'
      Src: com.jcraft.jsch.ChannelSftp:2049,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getATime()'
      Src: com.jcraft.jsch.ChannelSftp:2050,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].setACMODTIME(int,int)'
      Src: com.jcraft.jsch.ChannelSftp:2050,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._setStat(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpATTRS)'
      Src: com.jcraft.jsch.ChannelSftp:2051,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2056,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2056,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - path
    - mtime
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 2058
      start: 2036
    functionDepth: 8
    functionLinenumber: 2036
    functionLinenumberEnd: 2058
    functionName: '[com.jcraft.jsch.ChannelSftp].setMtime(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpATTRS].setACMODTIME(int,int)'
    - '[com.jcraft.jsch.SftpATTRS].setFLAGS(int)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
    - '[com.jcraft.jsch.ChannelSftp]._setStat(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpATTRS)'
    - '[java.util.Vector<String>].size()'
    - '[com.jcraft.jsch.ChannelSftp]._stat(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - '[com.jcraft.jsch.SftpATTRS].getATime()'
    - e.toString()
    - '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].setMtime(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:2062,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:2064,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
      Src: com.jcraft.jsch.ChannelSftp:2066,1
    - Dst: '[java.util.Vector<String>].size()'
      Src: com.jcraft.jsch.ChannelSftp:2067,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:2069,1
    - Dst: '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2072,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelSftp,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:2073,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendRMDIR(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2073,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:2075,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2079,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2082,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:2085,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:2087,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2093,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2093,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2095
      start: 2060
    functionDepth: 8
    functionLinenumber: 2060
    functionLinenumberEnd: 2095
    functionName: '[com.jcraft.jsch.ChannelSftp].rmdir(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelSftp,java.nio.charset.Charset)'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[java.util.Vector<String>].size()'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[Header].<init>()'
    - '[com.jcraft.jsch.ChannelSftp].sendRMDIR(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].rmdir(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:2099,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:2101,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:2103,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendMKDIR(byte[],null)'
      Src: com.jcraft.jsch.ChannelSftp:2103,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:2105,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:2106,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2110,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2113,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:2116,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:2119,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2123,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2125
      start: 2097
    functionDepth: 8
    functionLinenumber: 2097
    functionLinenumberEnd: 2125
    functionName: '[com.jcraft.jsch.ChannelSftp].mkdir(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - '[Header].<init>()'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].sendMKDIR(byte[],null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].mkdir(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:2129,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:2131,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
      Src: com.jcraft.jsch.ChannelSftp:2132,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._stat(String)'
      Src: com.jcraft.jsch.ChannelSftp:2134,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2138,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SftpATTRS
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2141
      start: 2127
    functionDepth: 8
    functionLinenumber: 2127
    functionLinenumberEnd: 2141
    functionName: '[com.jcraft.jsch.ChannelSftp].stat(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp]._stat(String)'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.SftpATTRS
    signature: '[com.jcraft.jsch.ChannelSftp].stat(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendSTAT(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2146,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:2148,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:2149,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2153,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:2157,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:2158,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2160,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:2162,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2167,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.SftpATTRS
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2170
      start: 2143
    functionDepth: 4
    functionLinenumber: 2143
    functionLinenumberEnd: 2170
    functionName: '[com.jcraft.jsch.ChannelSftp]._stat(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 5
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp].sendSTAT(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[Header].<init>()'
    - e.toString()
    - '[com.jcraft.jsch.Buffer].getInt()'
    linkageType: ''
    returnType: com.jcraft.jsch.SftpATTRS
    signature: '[com.jcraft.jsch.ChannelSftp]._stat(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:2173,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._stat(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.SftpATTRS
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2174
      start: 2172
    functionDepth: 5
    functionLinenumber: 2172
    functionLinenumberEnd: 2174
    functionName: '[com.jcraft.jsch.ChannelSftp]._stat(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - '[com.jcraft.jsch.ChannelSftp]._stat(byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.SftpATTRS
    signature: '[com.jcraft.jsch.ChannelSftp]._stat(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:2178,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:2180,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
      Src: com.jcraft.jsch.ChannelSftp:2181,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._statVFS(String)'
      Src: com.jcraft.jsch.ChannelSftp:2183,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2187,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SftpStatVFS
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2190
      start: 2176
    functionDepth: 8
    functionLinenumber: 2176
    functionLinenumberEnd: 2190
    functionName: '[com.jcraft.jsch.ChannelSftp].statVFS(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
    - '[com.jcraft.jsch.ChannelSftp]._statVFS(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.SftpStatVFS
    signature: '[com.jcraft.jsch.ChannelSftp].statVFS(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2194,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendSTATVFS(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2199,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:2201,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:2202,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2206,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:2210,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:2211,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2213,1
    - Dst: '[com.jcraft.jsch.SftpStatVFS].getStatVFS(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:2215,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2221,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2221,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.SftpStatVFS
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2224
      start: 2192
    functionDepth: 4
    functionLinenumber: 2192
    functionLinenumberEnd: 2224
    functionName: '[com.jcraft.jsch.ChannelSftp]._statVFS(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.SftpStatVFS].getStatVFS(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp].sendSTATVFS(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[Header].<init>()'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: com.jcraft.jsch.SftpStatVFS
    signature: '[com.jcraft.jsch.ChannelSftp]._statVFS(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:2227,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._statVFS(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.SftpStatVFS
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2228
      start: 2226
    functionDepth: 5
    functionLinenumber: 2226
    functionLinenumberEnd: 2228
    functionName: '[com.jcraft.jsch.ChannelSftp]._statVFS(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - '[com.jcraft.jsch.ChannelSftp]._statVFS(byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.SftpStatVFS
    signature: '[com.jcraft.jsch.ChannelSftp]._statVFS(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:2232,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:2234,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
      Src: com.jcraft.jsch.ChannelSftp:2235,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._lstat(String)'
      Src: com.jcraft.jsch.ChannelSftp:2237,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2241,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SftpATTRS
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2243
      start: 2230
    functionDepth: 8
    functionLinenumber: 2230
    functionLinenumberEnd: 2243
    functionName: '[com.jcraft.jsch.ChannelSftp].lstat(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp]._lstat(String)'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.SftpATTRS
    signature: '[com.jcraft.jsch.ChannelSftp].lstat(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:2247,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendLSTAT(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2247,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:2249,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:2250,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2254,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:2258,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:2259,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2261,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:2263,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2268,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2268,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.SftpATTRS
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2270
      start: 2245
    functionDepth: 4
    functionLinenumber: 2245
    functionLinenumberEnd: 2270
    functionName: '[com.jcraft.jsch.ChannelSftp]._lstat(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp].sendLSTAT(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - '[Header].<init>()'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: com.jcraft.jsch.SftpATTRS
    signature: '[com.jcraft.jsch.ChannelSftp]._lstat(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:2273,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendREALPATH(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2273,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:2275,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:2276,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2280,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2283,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:2287,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:2288,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:2290,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:2294,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:2296,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:2298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      - java.io.IOException
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2301
      start: 2272
    functionDepth: 4
    functionLinenumber: 2272
    functionLinenumberEnd: 2301
    functionName: '[com.jcraft.jsch.ChannelSftp]._realpath(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp].sendREALPATH(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - '[Header].<init>()'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.ChannelSftp]._realpath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:2305,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:2307,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
      Src: com.jcraft.jsch.ChannelSftp:2309,1
    - Dst: '[java.util.Vector<String>].size()'
      Src: com.jcraft.jsch.ChannelSftp:2310,1
    - Dst: '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2312,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._setStat(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpATTRS)'
      Src: com.jcraft.jsch.ChannelSftp:2313,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2318,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - com.jcraft.jsch.SftpATTRS
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - path
    - attr
    argTypes:
    - String
    - com.jcraft.jsch.SftpATTRS
    constantsTouched: []
    func_position:
      end: 2320
      start: 2303
    functionDepth: 8
    functionLinenumber: 2303
    functionLinenumberEnd: 2320
    functionName: '[com.jcraft.jsch.ChannelSftp].setStat(String,com.jcraft.jsch.SftpATTRS)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
    - '[com.jcraft.jsch.ChannelSftp]._setStat(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.SftpATTRS)'
    - '[java.util.Vector<String>].size()'
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    - e.toString()
    - '[java.util.Vector<String>].elementAt(com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].setStat(String,com.jcraft.jsch.SftpATTRS)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:2324,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendSETSTAT(byte[],com.jcraft.jsch.SftpATTRS)'
      Src: com.jcraft.jsch.ChannelSftp:2324,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:2326,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:2327,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2331,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2334,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:2336,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:2338,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2343,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - com.jcraft.jsch.SftpATTRS
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - path
    - attr
    argTypes:
    - String
    - com.jcraft.jsch.SftpATTRS
    constantsTouched: []
    func_position:
      end: 2345
      start: 2322
    functionDepth: 4
    functionLinenumber: 2322
    functionLinenumberEnd: 2345
    functionName: '[com.jcraft.jsch.ChannelSftp]._setStat(String,com.jcraft.jsch.SftpATTRS)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    - '[com.jcraft.jsch.ChannelSftp].sendSETSTAT(byte[],com.jcraft.jsch.SftpATTRS)'
    - '[Header].<init>()'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp]._setStat(String,com.jcraft.jsch.SftpATTRS)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].getCwd()'
      Src: com.jcraft.jsch.ChannelSftp:2348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2347
    functionDepth: 7
    functionLinenumber: 2347
    functionLinenumberEnd: 2349
    functionName: '[com.jcraft.jsch.ChannelSftp].pwd()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].getCwd()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelSftp].pwd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2353
    functionName: '[com.jcraft.jsch.ChannelSftp].lpwd()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelSftp].lpwd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2357
    functionName: '[com.jcraft.jsch.ChannelSftp].version()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelSftp].version()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
      Src: com.jcraft.jsch.ChannelSftp:2362,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._realpath(String)'
      Src: com.jcraft.jsch.ChannelSftp:2364,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:2365,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2369,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2359
    functionDepth: 5
    functionLinenumber: 2359
    functionLinenumberEnd: 2373
    functionName: '[com.jcraft.jsch.ChannelSftp].getHome()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
    - '[com.jcraft.jsch.ChannelSftp]._realpath(String)'
    - '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
    - e.toString()
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelSftp].getHome()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].getHome()'
      Src: com.jcraft.jsch.ChannelSftp:2377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2375
    functionDepth: 6
    functionLinenumber: 2375
    functionLinenumberEnd: 2379
    functionName: '[com.jcraft.jsch.ChannelSftp].getCwd()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].getHome()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelSftp].getCwd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - cwd
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2383
      start: 2381
    functionDepth: 0
    functionLinenumber: 2381
    functionLinenumberEnd: 2383
    functionName: '[com.jcraft.jsch.ChannelSftp].setCwd(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].setCwd(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].read(byte[],int,int)'
      Src: com.jcraft.jsch.ChannelSftp:2388,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - buf
    - s
    - l
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2395
      start: 2385
    functionDepth: 1
    functionLinenumber: 2385
    functionLinenumberEnd: 2395
    functionName: '[com.jcraft.jsch.ChannelSftp].read(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[java.io.InputStream].read(byte[],int,int)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].read(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:2398,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2404,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2407,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:2409,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:2411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - int[]
      - Header
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - ackid
    - header
    argTypes:
    - int[]
    - Header
    constantsTouched: []
    func_position:
      end: 2414
      start: 2397
    functionDepth: 4
    functionLinenumber: 2397
    functionLinenumberEnd: 2414
    functionName: '[com.jcraft.jsch.ChannelSftp].checkStatus(int[],Header)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.ChannelSftp].checkStatus(int[],Header)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendCLOSE(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2417,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].checkStatus(null,Header)'
      Src: com.jcraft.jsch.ChannelSftp:2418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - Header
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - handle
    - header
    argTypes:
    - byte[]
    - Header
    constantsTouched: []
    func_position:
      end: 2419
      start: 2416
    functionDepth: 4
    functionLinenumber: 2416
    functionLinenumberEnd: 2419
    functionName: '[com.jcraft.jsch.ChannelSftp]._sendCLOSE(byte[],Header)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].checkStatus(null,Header)'
    - '[com.jcraft.jsch.ChannelSftp].sendCLOSE(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.ChannelSftp]._sendCLOSE(byte[],Header)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelSftp:2422,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,int)'
      Src: com.jcraft.jsch.ChannelSftp:2423,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.ChannelSftp:2424,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getSession()'
      Src: com.jcraft.jsch.ChannelSftp:2425,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int,int)'
      Src: com.jcraft.jsch.ChannelSftp:2425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2426
      start: 2421
    functionDepth: 3
    functionLinenumber: 2421
    functionLinenumberEnd: 2426
    functionName: '[com.jcraft.jsch.ChannelSftp].sendINIT()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int,int)'
    - '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,int)'
    - '[com.jcraft.jsch.ChannelSftp].getSession()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendINIT()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2430
      start: 2428
    functionDepth: 3
    functionLinenumber: 2428
    functionLinenumberEnd: 2430
    functionName: '[com.jcraft.jsch.ChannelSftp].sendREALPATH(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendREALPATH(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2434
      start: 2432
    functionDepth: 3
    functionLinenumber: 2432
    functionLinenumberEnd: 2434
    functionName: '[com.jcraft.jsch.ChannelSftp].sendSTAT(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendSTAT(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],String)'
      Src: com.jcraft.jsch.ChannelSftp:2437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2438
      start: 2436
    functionDepth: 2
    functionLinenumber: 2436
    functionLinenumberEnd: 2438
    functionName: '[com.jcraft.jsch.ChannelSftp].sendSTATVFS(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendSTATVFS(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2446
      start: 2444
    functionDepth: 3
    functionLinenumber: 2444
    functionLinenumberEnd: 2446
    functionName: '[com.jcraft.jsch.ChannelSftp].sendLSTAT(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendLSTAT(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - handle
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2450
      start: 2448
    functionDepth: 3
    functionLinenumber: 2448
    functionLinenumberEnd: 2450
    functionName: '[com.jcraft.jsch.ChannelSftp].sendFSTAT(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendFSTAT(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelSftp:2453,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].length()'
      Src: com.jcraft.jsch.ChannelSftp:2454,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2454,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt()'
      Src: com.jcraft.jsch.ChannelSftp:2455,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2456,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].dump(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:2457,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getSession()'
      Src: com.jcraft.jsch.ChannelSftp:2458,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int)'
      Src: com.jcraft.jsch.ChannelSftp:2458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - com.jcraft.jsch.SftpATTRS
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - path
    - attr
    argTypes:
    - byte[]
    - com.jcraft.jsch.SftpATTRS
    constantsTouched: []
    func_position:
      end: 2459
      start: 2452
    functionDepth: 3
    functionLinenumber: 2452
    functionLinenumberEnd: 2459
    functionName: '[com.jcraft.jsch.ChannelSftp].sendSETSTAT(byte[],com.jcraft.jsch.SftpATTRS)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int)'
    - '[com.jcraft.jsch.ChannelSftp].getSession()'
    - '[com.jcraft.jsch.Buffer].putInt()'
    - '[com.jcraft.jsch.SftpATTRS].dump(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.SftpATTRS].length()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendSETSTAT(byte[],com.jcraft.jsch.SftpATTRS)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2463
      start: 2461
    functionDepth: 3
    functionLinenumber: 2461
    functionLinenumberEnd: 2463
    functionName: '[com.jcraft.jsch.ChannelSftp].sendREMOVE(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendREMOVE(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelSftp:2466,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2467,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt()'
      Src: com.jcraft.jsch.ChannelSftp:2468,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2469,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].dump(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:2471,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.ChannelSftp:2473,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getSession()'
      Src: com.jcraft.jsch.ChannelSftp:2474,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int)'
      Src: com.jcraft.jsch.ChannelSftp:2474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - com.jcraft.jsch.SftpATTRS
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - path
    - attr
    argTypes:
    - byte[]
    - com.jcraft.jsch.SftpATTRS
    constantsTouched: []
    func_position:
      end: 2475
      start: 2465
    functionDepth: 3
    functionLinenumber: 2465
    functionLinenumberEnd: 2475
    functionName: '[com.jcraft.jsch.ChannelSftp].sendMKDIR(byte[],com.jcraft.jsch.SftpATTRS)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int)'
    - '[com.jcraft.jsch.ChannelSftp].getSession()'
    - '[com.jcraft.jsch.Buffer].putInt()'
    - '[com.jcraft.jsch.SftpATTRS].dump(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendMKDIR(byte[],com.jcraft.jsch.SftpATTRS)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2479
      start: 2477
    functionDepth: 3
    functionLinenumber: 2477
    functionLinenumberEnd: 2479
    functionName: '[com.jcraft.jsch.ChannelSftp].sendRMDIR(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendRMDIR(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 2483
      start: 2481
    functionDepth: 1
    functionLinenumber: 2481
    functionLinenumberEnd: 2483
    functionName: '[com.jcraft.jsch.ChannelSftp].sendSYMLINK(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendSYMLINK(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],byte[],String)'
      Src: com.jcraft.jsch.ChannelSftp:2486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 2487
      start: 2485
    functionDepth: 2
    functionLinenumber: 2485
    functionLinenumberEnd: 2487
    functionName: '[com.jcraft.jsch.ChannelSftp].sendHARDLINK(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],byte[],String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendHARDLINK(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2491
      start: 2489
    functionDepth: 3
    functionLinenumber: 2489
    functionLinenumberEnd: 2491
    functionName: '[com.jcraft.jsch.ChannelSftp].sendREADLINK(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendREADLINK(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2495
      start: 2493
    functionDepth: 3
    functionLinenumber: 2493
    functionLinenumberEnd: 2495
    functionName: '[com.jcraft.jsch.ChannelSftp].sendOPENDIR(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendOPENDIR(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2499
      start: 2497
    functionDepth: 3
    functionLinenumber: 2497
    functionLinenumberEnd: 2499
    functionName: '[com.jcraft.jsch.ChannelSftp].sendREADDIR(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendREADDIR(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 2504
      start: 2501
    functionDepth: 1
    functionLinenumber: 2501
    functionLinenumberEnd: 2504
    functionName: '[com.jcraft.jsch.ChannelSftp].sendRENAME(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendRENAME(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2508
      start: 2506
    functionDepth: 3
    functionLinenumber: 2506
    functionLinenumberEnd: 2508
    functionName: '[com.jcraft.jsch.ChannelSftp].sendCLOSE(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendCLOSE(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendOPEN(byte[],int)'
      Src: com.jcraft.jsch.ChannelSftp:2511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2512
      start: 2510
    functionDepth: 4
    functionLinenumber: 2510
    functionLinenumberEnd: 2512
    functionName: '[com.jcraft.jsch.ChannelSftp].sendOPENR(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendOPEN(byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendOPENR(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendOPEN(byte[],com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2516
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2516
    functionName: '[com.jcraft.jsch.ChannelSftp].sendOPENW(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendOPEN(byte[],com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendOPENW(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendOPEN(byte[],com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2520
      start: 2518
    functionDepth: 0
    functionLinenumber: 2518
    functionLinenumberEnd: 2520
    functionName: '[com.jcraft.jsch.ChannelSftp].sendOPENA(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendOPEN(byte[],com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendOPENA(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelSftp:2523,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,int)'
      Src: com.jcraft.jsch.ChannelSftp:2524,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt()'
      Src: com.jcraft.jsch.ChannelSftp:2525,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2526,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.ChannelSftp:2527,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.ChannelSftp:2528,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getSession()'
      Src: com.jcraft.jsch.ChannelSftp:2529,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int)'
      Src: com.jcraft.jsch.ChannelSftp:2529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 2530
      start: 2522
    functionDepth: 3
    functionLinenumber: 2522
    functionLinenumberEnd: 2530
    functionName: '[com.jcraft.jsch.ChannelSftp].sendOPEN(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,int)'
    - '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int)'
    - '[com.jcraft.jsch.ChannelSftp].getSession()'
    - '[com.jcraft.jsch.Buffer].putInt()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendOPEN(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],String)'
      Src: com.jcraft.jsch.ChannelSftp:2533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - fxp
    - path
    argTypes:
    - byte
    - byte[]
    constantsTouched: []
    func_position:
      end: 2534
      start: 2532
    functionDepth: 2
    functionLinenumber: 2532
    functionLinenumberEnd: 2534
    functionName: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 10
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelSftp:2537,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2540,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt()'
      Src: com.jcraft.jsch.ChannelSftp:2541,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.ChannelSftp:2543,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2544,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt()'
      Src: com.jcraft.jsch.ChannelSftp:2545,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelSftp:2546,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2546,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2548,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getSession()'
      Src: com.jcraft.jsch.ChannelSftp:2549,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int)'
      Src: com.jcraft.jsch.ChannelSftp:2549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - fxp
    - path
    - extension
    argTypes:
    - byte
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 2550
      start: 2536
    functionDepth: 1
    functionLinenumber: 2536
    functionLinenumberEnd: 2550
    functionName: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[String].length()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int)'
    - '[com.jcraft.jsch.ChannelSftp].getSession()'
    - '[com.jcraft.jsch.Buffer].putInt()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],byte[],null)'
      Src: com.jcraft.jsch.ChannelSftp:2553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - fxp
    - p1
    - p2
    argTypes:
    - byte
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 2554
      start: 2552
    functionDepth: 0
    functionLinenumber: 2552
    functionLinenumberEnd: 2554
    functionName: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],byte[],null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelSftp:2557,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2560,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt()'
      Src: com.jcraft.jsch.ChannelSftp:2561,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.ChannelSftp:2563,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2564,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt()'
      Src: com.jcraft.jsch.ChannelSftp:2565,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelSftp:2566,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2566,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2568,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2569,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getSession()'
      Src: com.jcraft.jsch.ChannelSftp:2570,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int)'
      Src: com.jcraft.jsch.ChannelSftp:2570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - byte[]
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 4
    argNames:
    - fxp
    - p1
    - p2
    - extension
    argTypes:
    - byte
    - byte[]
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 2571
      start: 2556
    functionDepth: 1
    functionLinenumber: 2556
    functionLinenumberEnd: 2571
    functionName: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[String].length()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int)'
    - '[com.jcraft.jsch.ChannelSftp].getSession()'
    - '[com.jcraft.jsch.Buffer].putInt()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelSftp:2576,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getSession()'
      Src: com.jcraft.jsch.ChannelSftp:2577,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getBufferMargin()'
      Src: com.jcraft.jsch.ChannelSftp:2578,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].putHEAD(com.jcraft.jsch.Buffer,byte,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2584,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt()'
      Src: com.jcraft.jsch.ChannelSftp:2585,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2586,1
    - Dst: '[com.jcraft.jsch.Buffer].putLong(long)'
      Src: com.jcraft.jsch.ChannelSftp:2587,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[],int,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2589,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2591,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2592,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int)'
      Src: com.jcraft.jsch.ChannelSftp:2594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - long
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 5
    argNames:
    - handle
    - offset
    - data
    - start
    - length
    argTypes:
    - byte[]
    - long
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2596
      start: 2573
    functionDepth: 2
    functionLinenumber: 2573
    functionLinenumberEnd: 2596
    functionName: '[com.jcraft.jsch.ChannelSftp].sendWRITE(byte[],long,byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].getBufferMargin()'
    - '[com.jcraft.jsch.ChannelSftp].putHEAD(com.jcraft.jsch.Buffer,byte,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putString(byte[],int,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int)'
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].getSession()'
    - '[com.jcraft.jsch.Buffer].putInt()'
    - '[com.jcraft.jsch.Buffer].putLong(long)'
    - '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.ChannelSftp].sendWRITE(byte[],long,byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendREAD(byte[],long,int,null)'
      Src: com.jcraft.jsch.ChannelSftp:2599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - long
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - handle
    - offset
    - length
    argTypes:
    - byte[]
    - long
    - int
    constantsTouched: []
    func_position:
      end: 2600
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2600
    functionName: '[com.jcraft.jsch.ChannelSftp].sendREAD(byte[],long,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendREAD(byte[],long,int,null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendREAD(byte[],long,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelSftp:2603,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,int)'
      Src: com.jcraft.jsch.ChannelSftp:2604,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt()'
      Src: com.jcraft.jsch.ChannelSftp:2605,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2606,1
    - Dst: '[com.jcraft.jsch.Buffer].putLong(long)'
      Src: com.jcraft.jsch.ChannelSftp:2607,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.ChannelSftp:2608,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getSession()'
      Src: com.jcraft.jsch.ChannelSftp:2609,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int)'
      Src: com.jcraft.jsch.ChannelSftp:2609,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].add(int,long,int)'
      Src: com.jcraft.jsch.ChannelSftp:2611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - long
      - int
      - RequestQueue
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 4
    argNames:
    - handle
    - offset
    - length
    - rrq
    argTypes:
    - byte[]
    - long
    - int
    - RequestQueue
    constantsTouched: []
    func_position:
      end: 2613
      start: 2602
    functionDepth: 3
    functionLinenumber: 2602
    functionLinenumberEnd: 2613
    functionName: '[com.jcraft.jsch.ChannelSftp].sendREAD(byte[],long,int,RequestQueue)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].add(int,long,int)'
    - '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,int)'
    - '[com.jcraft.jsch.ChannelSftp].write(com.jcraft.jsch.Packet,int)'
    - '[com.jcraft.jsch.ChannelSftp].getSession()'
    - '[com.jcraft.jsch.Buffer].putInt()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Buffer].putLong(long)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].sendREAD(byte[],long,int,RequestQueue)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelSftp:2616,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2617,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.ChannelSftp:2618,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.ChannelSftp:2619,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelSftp:2620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      - byte
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - buf
    - type
    - length
    argTypes:
    - com.jcraft.jsch.Buffer
    - byte
    - int
    constantsTouched: []
    func_position:
      end: 2621
      start: 2615
    functionDepth: 1
    functionLinenumber: 2615
    functionLinenumberEnd: 2621
    functionName: '[com.jcraft.jsch.ChannelSftp].putHEAD(com.jcraft.jsch.Buffer,byte,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].putHEAD(com.jcraft.jsch.Buffer,byte,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].putHEAD(com.jcraft.jsch.Buffer,byte,int)'
      Src: com.jcraft.jsch.ChannelSftp:2624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - type
    - length
    argTypes:
    - byte
    - int
    constantsTouched: []
    func_position:
      end: 2625
      start: 2623
    functionDepth: 2
    functionLinenumber: 2623
    functionLinenumberEnd: 2625
    functionName: '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].putHEAD(com.jcraft.jsch.Buffer,byte,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:2628,1
    - Dst: '[String].lastIndexOf(char)'
      Src: com.jcraft.jsch.ChannelSftp:2631,1
    - Dst: '[com.jcraft.jsch.Util].unquote(String)'
      Src: com.jcraft.jsch.ChannelSftp:2633,1
    - Dst: '[java.util.Vector].addElement(String)'
      Src: com.jcraft.jsch.ChannelSftp:2633,1
    - Dst: '[String].substring(int)'
      Src: com.jcraft.jsch.ChannelSftp:2637,1
    - Dst: '[String].substring(int)'
      Src: com.jcraft.jsch.ChannelSftp:2638,1
    - Dst: '[com.jcraft.jsch.Util].unquote(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2640,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isPattern(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2644,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.ChannelSftp:2647,1
    - Dst: '[com.jcraft.jsch.Util].unquote(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2649,1
    - Dst: '[java.util.Vector].addElement(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2649,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelSftp,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:2655,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendOPENDIR(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2655,1
    - Dst: '[Header].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:2657,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:2658,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2662,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2665,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:2668,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.ChannelSftp:2669,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:2672,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].sendREADDIR(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2676,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp:2677,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2682,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2685,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.ChannelSftp:2689,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,int)'
      Src: com.jcraft.jsch.ChannelSftp:2690,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:2692,1
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.ChannelSftp:2697,1
    - Dst: '[com.jcraft.jsch.Buffer].shift()'
      Src: com.jcraft.jsch.ChannelSftp:2700,1
    - Dst: '[java.io.InputStream].read(byte[],int,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2703,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:2710,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:2713,1
    - Dst: '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSftp:2715,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:2722,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2723,1
    - Dst: '[com.jcraft.jsch.Util].glob(com.jcraft.jsch.ChannelSftp,byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2725,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:2729,1
    - Dst: pdir.endsWith(String)
      Src: com.jcraft.jsch.ChannelSftp:2733,1
    - Dst: '[java.util.Vector].addElement(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2737,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._sendCLOSE(byte[],Header)'
      Src: com.jcraft.jsch.ChannelSftp:2742,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 89
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Vector<String>
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - _path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2745
      start: 2627
    functionDepth: 4
    functionLinenumber: 2627
    functionLinenumberEnd: 2745
    functionName: '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 12
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].sendREADDIR(byte[])'
    - '[com.jcraft.jsch.Util].unquote(com.jcraft.jsch.ChannelSftp)'
    - '[Header].<init>()'
    - '[java.io.InputStream].read(byte[],int,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].sendOPENDIR(byte[])'
    - '[String].substring(int)'
    - '[com.jcraft.jsch.Util].str2byte(String,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Util].unquote(String)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].reset()'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    - '[String].lastIndexOf(char)'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelSftp,java.nio.charset.Charset)'
    - '[java.util.Vector].addElement(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - pdir.endsWith(String)
    - '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,int)'
    - '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
    - '[com.jcraft.jsch.Buffer].rewind()'
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.Util].glob(com.jcraft.jsch.ChannelSftp,byte[])'
    - '[com.jcraft.jsch.ChannelSftp].isPattern(com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp]._sendCLOSE(byte[],Header)'
    - '[com.jcraft.jsch.Buffer].shift()'
    - '[java.util.Vector].addElement(String)'
    - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: java.util.Vector<String>
    signature: '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2758
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2758
    functionName: '[com.jcraft.jsch.ChannelSftp].isPattern(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.ChannelSftp].isPattern(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.ChannelSftp:2762,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2763,1
    - Dst: '[java.util.Vector].addElement()'
      Src: com.jcraft.jsch.ChannelSftp:2782,1
    - Dst: '[java.util.Vector].addElement()'
      Src: com.jcraft.jsch.ChannelSftp:2795,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.ChannelSftp,int,com.jcraft.jsch.ChannelSftp)
      Src: com.jcraft.jsch.ChannelSftp:2804,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.ChannelSftp,int,com.jcraft.jsch.ChannelSftp)
      Src: com.jcraft.jsch.ChannelSftp:2808,1
    - Dst: (new File(Util.byte2str(dir, StandardCharsets.UTF_8))).list()
      Src: com.jcraft.jsch.ChannelSftp:2812,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2813,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2816,1
    - Dst: '[com.jcraft.jsch.Util].glob(com.jcraft.jsch.ChannelSftp,byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2816,1
    - Dst: '[java.util.Vector].addElement(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2817,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 58
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Vector<String>
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - _path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2823
      start: 2760
    functionDepth: 1
    functionLinenumber: 2760
    functionLinenumberEnd: 2823
    functionName: '[com.jcraft.jsch.ChannelSftp].glob_local(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.Util].glob(com.jcraft.jsch.ChannelSftp,byte[])'
    - '[java.util.Vector].addElement(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Util].str2byte(String,com.jcraft.jsch.ChannelSftp)'
    - '[java.util.Vector].addElement()'
    - (new File(Util.byte2str(dir, StandardCharsets.UTF_8))).list()
    - System.arraycopy(byte[],int,com.jcraft.jsch.ChannelSftp,int,com.jcraft.jsch.ChannelSftp)
    linkageType: ''
    returnType: java.util.Vector<String>
    signature: '[com.jcraft.jsch.ChannelSftp].glob_local(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.ChannelSftp:2827,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelSftp:2828,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2830,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2830,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2832,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - buf
    - i
    argTypes:
    - com.jcraft.jsch.Buffer
    - int
    constantsTouched: []
    func_position:
      end: 2834
      start: 2825
    functionDepth: 4
    functionLinenumber: 2825
    functionLinenumberEnd: 2834
    functionName: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 19
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    - '[com.jcraft.jsch.Buffer].getLength()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: (new File(path)).isAbsolute()
      Src: com.jcraft.jsch.ChannelSftp:2837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2838
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2838
    functionName: '[com.jcraft.jsch.ChannelSftp].isLocalAbsolutePath(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - (new File(path)).isAbsolute()
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.ChannelSftp].isLocalAbsolutePath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSession].disconnect()'
      Src: com.jcraft.jsch.ChannelSftp:2842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2843
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2843
    functionName: '[com.jcraft.jsch.ChannelSftp].disconnect()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.ChannelSession].disconnect()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].disconnect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2846,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].isPattern(byte[])'
      Src: com.jcraft.jsch.ChannelSftp:2849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[][]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - path
    - utf8
    argTypes:
    - String
    - byte[][]
    constantsTouched: []
    func_position:
      end: 2850
      start: 2845
    functionDepth: 1
    functionLinenumber: 2845
    functionLinenumberEnd: 2850
    functionName: '[com.jcraft.jsch.ChannelSftp].isPattern(String,byte[][])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp].isPattern(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.ChannelSftp].isPattern(String,byte[][])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].isPattern(String,null)'
      Src: com.jcraft.jsch.ChannelSftp:2853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2854
      start: 2852
    functionDepth: 0
    functionLinenumber: 2852
    functionLinenumberEnd: 2854
    functionName: '[com.jcraft.jsch.ChannelSftp].isPattern(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].isPattern(String,null)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.ChannelSftp].isPattern(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.ChannelSftp:2857,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,int)'
      Src: com.jcraft.jsch.ChannelSftp:2858,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(int)'
      Src: com.jcraft.jsch.ChannelSftp:2859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - com.jcraft.jsch.Buffer
    - int
    constantsTouched: []
    func_position:
      end: 2860
      start: 2856
    functionDepth: 1
    functionLinenumber: 2856
    functionLinenumberEnd: 2860
    functionName: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].reset()'
    - '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,int)'
    - '[com.jcraft.jsch.Buffer].skip(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].read(byte[],int,int)'
      Src: com.jcraft.jsch.ChannelSftp:2866,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.ChannelSftp:2868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 3
    argNames:
    - buf
    - s
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2875
      start: 2862
    functionDepth: 0
    functionLinenumber: 2862
    functionLinenumberEnd: 2875
    functionName: '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 5
    functionsReached:
    - '[java.io.IOException].<init>(String)'
    - '[java.io.InputStream].read(byte[],int,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].skip(long)'
      Src: com.jcraft.jsch.ChannelSftp:2879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - foo
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 2884
      start: 2877
    functionDepth: 0
    functionLinenumber: 2877
    functionLinenumberEnd: 2884
    functionName: '[com.jcraft.jsch.ChannelSftp].skip(long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[java.io.InputStream].skip(long)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].skip(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.ChannelSftp:2893,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,int)'
      Src: com.jcraft.jsch.ChannelSftp:2894,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:2895,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.ChannelSftp:2896,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelSftp:2897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      - Header
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Header
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - buf
    - header
    argTypes:
    - com.jcraft.jsch.Buffer
    - Header
    constantsTouched: []
    func_position:
      end: 2899
      start: 2892
    functionDepth: 3
    functionLinenumber: 2892
    functionLinenumberEnd: 2899
    functionName: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 21
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,int)'
    - '[com.jcraft.jsch.Buffer].rewind()'
    - '[com.jcraft.jsch.Buffer].getByte()'
    linkageType: ''
    returnType: Header
    signature: '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].charAt(int)'
      Src: com.jcraft.jsch.ChannelSftp:2902,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].getCwd()'
      Src: com.jcraft.jsch.ChannelSftp:2904,1
    - Dst: '[String].endsWith(String)'
      Src: com.jcraft.jsch.ChannelSftp:2906,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2909
      start: 2901
    functionDepth: 7
    functionLinenumber: 2901
    functionLinenumberEnd: 2909
    functionName: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 24
    functionsReached:
    - '[String].charAt(int)'
    - '[String].endsWith(String)'
    - '[com.jcraft.jsch.ChannelSftp].getCwd()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].isLocalAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:2912,1
    - Dst: '[String].endsWith(String)'
      Src: com.jcraft.jsch.ChannelSftp:2914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2917
      start: 2911
    functionDepth: 1
    functionLinenumber: 2911
    functionLinenumberEnd: 2917
    functionName: '[com.jcraft.jsch.ChannelSftp].localAbsolutePath(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 3
    functionsReached:
    - '[String].endsWith(String)'
    - '[com.jcraft.jsch.ChannelSftp].isLocalAbsolutePath(String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelSftp].localAbsolutePath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
      Src: com.jcraft.jsch.ChannelSftp:2926,1
    - Dst: '[java.util.Vector<String>].size()'
      Src: com.jcraft.jsch.ChannelSftp:2927,1
    - Dst: '[java.util.Vector<String>].toString()'
      Src: com.jcraft.jsch.ChannelSftp:2928,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2928,1
    - Dst: '[java.util.Vector<String>].elementAt(int)'
      Src: com.jcraft.jsch.ChannelSftp:2930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2931
      start: 2925
    functionDepth: 5
    functionLinenumber: 2925
    functionLinenumberEnd: 2931
    functionName: '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 11
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
    - '[java.util.Vector<String>].size()'
    - '[java.util.Vector<String>].elementAt(int)'
    - '[java.util.Vector<String>].toString()'
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].isConnected()'
      Src: com.jcraft.jsch.ChannelSftp:2934,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,String)'
      Src: com.jcraft.jsch.ChannelSftp:2935,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2938
      start: 2933
    functionDepth: 1
    functionLinenumber: 2933
    functionLinenumberEnd: 2938
    functionName: '[com.jcraft.jsch.ChannelSftp].getServerVersion()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp].isConnected()'
    - '[com.jcraft.jsch.SftpException].<init>(int,String)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.ChannelSftp].getServerVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.charset.Charset].forName(String)'
      Src: com.jcraft.jsch.ChannelSftp:2943,1
    - Dst: '[com.jcraft.jsch.ChannelSftp].setFilenameEncoding(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2943,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2947,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2947,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2949
      start: 2940
    functionDepth: 0
    functionLinenumber: 2940
    functionLinenumberEnd: 2949
    functionName: '[com.jcraft.jsch.ChannelSftp].setFilenameEncoding(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[java.nio.charset.Charset].forName(String)'
    - '[com.jcraft.jsch.ChannelSftp].setFilenameEncoding(com.jcraft.jsch.ChannelSftp)'
    - e.toString()
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].setFilenameEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.charset.Charset].equals(com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 2954
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2954
    functionName: '[com.jcraft.jsch.ChannelSftp].setFilenameEncoding(java.nio.charset.Charset)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[java.nio.charset.Charset].equals(com.jcraft.jsch.ChannelSftp)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp].setFilenameEncoding(java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Hashtable<String,String>].get(String)'
      Src: com.jcraft.jsch.ChannelSftp:2959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2960
      start: 2956
    functionDepth: 0
    functionLinenumber: 2956
    functionLinenumberEnd: 2960
    functionName: '[com.jcraft.jsch.ChannelSftp].getExtension(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[java.util.Hashtable<String,String>].get(String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelSftp].getExtension(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
      Src: com.jcraft.jsch.ChannelSftp:2964,1
    - Dst: '[com.jcraft.jsch.ChannelSftp]._realpath(String)'
      Src: com.jcraft.jsch.ChannelSftp:2964,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
      Src: com.jcraft.jsch.ChannelSftp:2965,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ChannelSftp:2969,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
      Src: com.jcraft.jsch.ChannelSftp:2969,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      - int
      - int[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - int
      - int
      - String
      - java.util.Hashtable<String,String>
      - java.io.InputStream
      - boolean
      - boolean
      - boolean
      - String
      - char
      - boolean
      - String
      - String
      - String
      - java.nio.charset.Charset
      - boolean
      - boolean
      - RequestQueue
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2971
      start: 2962
    functionDepth: 8
    functionLinenumber: 2962
    functionLinenumberEnd: 2971
    functionName: '[com.jcraft.jsch.ChannelSftp].realpath(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(int,com.jcraft.jsch.ChannelSftp,com.jcraft.jsch.ChannelSftp)'
    - '[com.jcraft.jsch.ChannelSftp]._realpath(String)'
    - '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
    - e.toString()
    - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelSftp].realpath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Request].<init>()'
      Src: com.jcraft.jsch.ChannelSftp.RequestQueue:1165,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].init()'
      Src: com.jcraft.jsch.ChannelSftp.RequestQueue:1167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Request[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.ChannelSftp.RequestQueue
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1168
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1168
    functionName: '[com.jcraft.jsch.ChannelSftp.RequestQueue].<init>(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].init()'
    - '[com.jcraft.jsch.Request].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelSftp.RequestQueue
    signature: '[com.jcraft.jsch.ChannelSftp.RequestQueue].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Request[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1172
    functionName: '[com.jcraft.jsch.ChannelSftp.RequestQueue].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp.RequestQueue].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - long
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Request[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - id
    - offset
    - length
    argTypes:
    - int
    - long
    - int
    constantsTouched: []
    func_position:
      end: 1184
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1184
    functionName: '[com.jcraft.jsch.ChannelSftp.RequestQueue].add(int,long,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp.RequestQueue].add(int,long,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].getOffset()'
      Src: com.jcraft.jsch.ChannelSftp.RequestQueue:1193,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue.OutOfOrderException].<init>(com.jcraft.jsch.ChannelSftp.RequestQueue)'
      Src: com.jcraft.jsch.ChannelSftp.RequestQueue:1203,1
    - Dst: '[com.jcraft.jsch.SftpException].<init>(com.jcraft.jsch.ChannelSftp.RequestQueue,String)'
      Src: com.jcraft.jsch.ChannelSftp.RequestQueue:1204,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Request[]
      - int
      classPublic: false
      concrete: true
      exceptions:
      - OutOfOrderException
      - com.jcraft.jsch.SftpException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Request
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1208
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1208
    functionName: '[com.jcraft.jsch.ChannelSftp.RequestQueue].get(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpException].<init>(com.jcraft.jsch.ChannelSftp.RequestQueue,String)'
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].getOffset()'
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue.OutOfOrderException].<init>(com.jcraft.jsch.ChannelSftp.RequestQueue)'
    linkageType: ''
    returnType: com.jcraft.jsch.Request
    signature: '[com.jcraft.jsch.ChannelSftp.RequestQueue].get(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Request[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1212
    functionName: '[com.jcraft.jsch.ChannelSftp.RequestQueue].count()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.ChannelSftp.RequestQueue].count()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Request[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1216
    functionName: '[com.jcraft.jsch.ChannelSftp.RequestQueue].size()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.ChannelSftp.RequestQueue].size()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].header(com.jcraft.jsch.Buffer,Header)'
      Src: com.jcraft.jsch.ChannelSftp.RequestQueue:1221,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].skip(com.jcraft.jsch.ChannelSftp.RequestQueue)'
      Src: com.jcraft.jsch.ChannelSftp.RequestQueue:1229,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.RequestQueue].init()'
      Src: com.jcraft.jsch.ChannelSftp.RequestQueue:1231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - Header
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - Request[]
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - header
    - buf
    argTypes:
    - Header
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 1232
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1232
    functionName: '[com.jcraft.jsch.ChannelSftp.RequestQueue].cancel(Header,com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].skip(com.jcraft.jsch.ChannelSftp.RequestQueue)'
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].header(com.jcraft.jsch.Buffer,Header)'
    - '[com.jcraft.jsch.ChannelSftp.RequestQueue].init()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp.RequestQueue].cancel(Header,com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Request[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1245
    functionName: '[com.jcraft.jsch.ChannelSftp.RequestQueue].getOffset()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.ChannelSftp.RequestQueue].getOffset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.ChannelSftp.RequestQueue.OutOfOrderException
      static: false
      superClass: Exception
    argCount: 1
    argNames:
    - offset
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 1150
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1150
    functionName: '[com.jcraft.jsch.ChannelSftp.RequestQueue.OutOfOrderException].<init>(long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelSftp.RequestQueue.OutOfOrderException
    signature: '[com.jcraft.jsch.ChannelSftp.RequestQueue.OutOfOrderException].<init>(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ChannelSftp.RequestQueue.Request
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ChannelSftp.RequestQueue.Request].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelSftp.RequestQueue.Request
    signature: '[com.jcraft.jsch.ChannelSftp.RequestQueue.Request].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ChannelSftp.Header
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ChannelSftp.Header].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelSftp.Header
    signature: '[com.jcraft.jsch.ChannelSftp.Header].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSftp.LsEntry].setFilename(String)'
      Src: com.jcraft.jsch.ChannelSftp.LsEntry:2979,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.LsEntry].setLongname(String)'
      Src: com.jcraft.jsch.ChannelSftp.LsEntry:2980,1
    - Dst: '[com.jcraft.jsch.ChannelSftp.LsEntry].setAttrs(com.jcraft.jsch.SftpATTRS)'
      Src: com.jcraft.jsch.ChannelSftp.LsEntry:2981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - com.jcraft.jsch.SftpATTRS
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - SftpATTRS
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.ChannelSftp.LsEntry
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - filename
    - longname
    - attrs
    argTypes:
    - String
    - String
    - com.jcraft.jsch.SftpATTRS
    constantsTouched: []
    func_position:
      end: 2982
      start: 2978
    functionDepth: 1
    functionLinenumber: 2978
    functionLinenumberEnd: 2982
    functionName: '[com.jcraft.jsch.ChannelSftp.LsEntry].<init>(String,String,com.jcraft.jsch.SftpATTRS)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSftp.LsEntry].setLongname(String)'
    - '[com.jcraft.jsch.ChannelSftp.LsEntry].setFilename(String)'
    - '[com.jcraft.jsch.ChannelSftp.LsEntry].setAttrs(com.jcraft.jsch.SftpATTRS)'
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelSftp.LsEntry
    signature: '[com.jcraft.jsch.ChannelSftp.LsEntry].<init>(String,String,com.jcraft.jsch.SftpATTRS)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - SftpATTRS
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2986
      start: 2984
    functionDepth: 0
    functionLinenumber: 2984
    functionLinenumberEnd: 2986
    functionName: '[com.jcraft.jsch.ChannelSftp.LsEntry].getFilename()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelSftp.LsEntry].getFilename()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - SftpATTRS
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filename
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2990
      start: 2988
    functionDepth: 0
    functionLinenumber: 2988
    functionLinenumberEnd: 2990
    functionName: '[com.jcraft.jsch.ChannelSftp.LsEntry].setFilename(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp.LsEntry].setFilename(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - SftpATTRS
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2992
    functionDepth: 0
    functionLinenumber: 2992
    functionLinenumberEnd: 2994
    functionName: '[com.jcraft.jsch.ChannelSftp.LsEntry].getLongname()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelSftp.LsEntry].getLongname()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - SftpATTRS
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - longname
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2998
      start: 2996
    functionDepth: 0
    functionLinenumber: 2996
    functionLinenumberEnd: 2998
    functionName: '[com.jcraft.jsch.ChannelSftp.LsEntry].setLongname(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp.LsEntry].setLongname(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - SftpATTRS
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SftpATTRS
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 3000
    functionDepth: 0
    functionLinenumber: 3000
    functionLinenumberEnd: 3002
    functionName: '[com.jcraft.jsch.ChannelSftp.LsEntry].getAttrs()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.SftpATTRS
    signature: '[com.jcraft.jsch.ChannelSftp.LsEntry].getAttrs()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.SftpATTRS
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - SftpATTRS
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - attrs
    argTypes:
    - com.jcraft.jsch.SftpATTRS
    constantsTouched: []
    func_position:
      end: 3006
      start: 3004
    functionDepth: 0
    functionLinenumber: 3004
    functionLinenumberEnd: 3006
    functionName: '[com.jcraft.jsch.ChannelSftp.LsEntry].setAttrs(com.jcraft.jsch.SftpATTRS)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSftp.LsEntry].setAttrs(com.jcraft.jsch.SftpATTRS)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - SftpATTRS
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3011
      start: 3008
    functionDepth: 0
    functionLinenumber: 3008
    functionLinenumberEnd: 3011
    functionName: '[com.jcraft.jsch.ChannelSftp.LsEntry].toString()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelSftp.LsEntry].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[LsEntry].getFilename()'
      Src: com.jcraft.jsch.ChannelSftp.LsEntry:3015,1
    - Dst: '[String].compareTo(com.jcraft.jsch.ChannelSftp.LsEntry)'
      Src: com.jcraft.jsch.ChannelSftp.LsEntry:3015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - LsEntry
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - SftpATTRS
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - LsEntry
    constantsTouched: []
    func_position:
      end: 3016
      start: 3013
    functionDepth: 0
    functionLinenumber: 3013
    functionLinenumberEnd: 3016
    functionName: '[com.jcraft.jsch.ChannelSftp.LsEntry].compareTo(LsEntry)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached:
    - '[String].compareTo(com.jcraft.jsch.ChannelSftp.LsEntry)'
    - '[LsEntry].getFilename()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.ChannelSftp.LsEntry].compareTo(LsEntry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - LsEntry
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - entry
    argTypes:
    - LsEntry
    constantsTouched: []
    func_position:
      end: 3037
      start: 3037
    functionDepth: 0
    functionLinenumber: 3037
    functionLinenumberEnd: 3037
    functionName: '[com.jcraft.jsch.ChannelSftp.LsEntrySelector].select(LsEntry)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.ChannelSftp.LsEntrySelector].select(LsEntry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ChannelSftp.LsEntrySelector
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ChannelSftp.LsEntrySelector].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelSftp.LsEntrySelector
    signature: '[com.jcraft.jsch.ChannelSftp.LsEntrySelector].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.RequestEnv].setEnv(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestEnv.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestEnv].setEnv(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.RequestEnv:40,1
    - Dst: '[com.jcraft.jsch.RequestEnv].setReply(boolean)'
      Src: com.jcraft.jsch.RequestEnv:41,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.RequestEnv:43,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.RequestEnv:44,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.RequestEnv:46,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestEnv:47,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.RequestEnv:48,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestEnv:48,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestEnv:49,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestEnv:49,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestEnv:50,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestEnv:51,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestEnv:52,1
    - Dst: '[com.jcraft.jsch.RequestEnv].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.RequestEnv:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 2
    argNames:
    - session
    - channel
    argTypes:
    - com.jcraft.jsch.Session
    - com.jcraft.jsch.Channel
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: '[com.jcraft.jsch.RequestEnv].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestEnv.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.RequestEnv].setReply(boolean)'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.RequestEnv].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestEnv].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.RequestEnv
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.RequestEnv].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestEnv.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.RequestEnv
    signature: '[com.jcraft.jsch.RequestEnv].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Config
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '[com.jcraft.jsch.ConfigRepository].getConfig(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ConfigRepository.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Config
    signature: '[com.jcraft.jsch.ConfigRepository].getConfig(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ConfigRepository
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ConfigRepository].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ConfigRepository.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ConfigRepository
    signature: '[com.jcraft.jsch.ConfigRepository].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.ConfigRepository.Config].getHostname()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ConfigRepository.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ConfigRepository.Config].getHostname()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.ConfigRepository.Config].getUser()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ConfigRepository.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ConfigRepository.Config].getUser()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.ConfigRepository.Config].getPort()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ConfigRepository.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.ConfigRepository.Config].getPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ConfigRepository.java
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '[com.jcraft.jsch.ConfigRepository.Config].getValues(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ConfigRepository.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.ConfigRepository.Config].getValues(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ConfigRepository.Config
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ConfigRepository.Config].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ConfigRepository.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ConfigRepository.Config
    signature: '[com.jcraft.jsch.ConfigRepository.Config].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - y_arr
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.SignatureEdDSA].setPubKey(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SignatureEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SignatureEdDSA].setPubKey(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.SignatureEdDSA].setPrvKey(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SignatureEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SignatureEdDSA].setPrvKey(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SignatureEdDSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.SignatureEdDSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SignatureEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.SignatureEdDSA
    signature: '[com.jcraft.jsch.SignatureEdDSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].load(JSch.InstanceLogger,String,String)'
      Src: com.jcraft.jsch.IdentityFile:35,1
    - Dst: '[com.jcraft.jsch.IdentityFile].<init>(String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.IdentityFile:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - JSch.InstanceLogger
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.KeyPair
      - String
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.IdentityFile
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - prvfile
    - pubfile
    - instLogger
    argTypes:
    - String
    - String
    - JSch.InstanceLogger
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 6
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.IdentityFile].newInstance(String,String,JSch.InstanceLogger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityFile.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].load(JSch.InstanceLogger,String,String)'
    - '[com.jcraft.jsch.IdentityFile].<init>(String,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: com.jcraft.jsch.IdentityFile
    signature: '[com.jcraft.jsch.IdentityFile].newInstance(String,String,JSch.InstanceLogger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].load(JSch.InstanceLogger,byte[],byte[])'
      Src: com.jcraft.jsch.IdentityFile:42,1
    - Dst: '[com.jcraft.jsch.IdentityFile].<init>(String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.IdentityFile:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      - byte[]
      - JSch.InstanceLogger
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.KeyPair
      - String
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.IdentityFile
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - name
    - prvkey
    - pubkey
    - instLogger
    argTypes:
    - String
    - byte[]
    - byte[]
    - JSch.InstanceLogger
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.IdentityFile].newInstance(String,byte[],byte[],JSch.InstanceLogger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityFile.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].load(JSch.InstanceLogger,byte[],byte[])'
    - '[com.jcraft.jsch.IdentityFile].<init>(String,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: com.jcraft.jsch.IdentityFile
    signature: '[com.jcraft.jsch.IdentityFile].newInstance(String,byte[],byte[],JSch.InstanceLogger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - com.jcraft.jsch.KeyPair
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.KeyPair
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.IdentityFile
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - kpair
    argTypes:
    - String
    - com.jcraft.jsch.KeyPair
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[com.jcraft.jsch.IdentityFile].<init>(String,com.jcraft.jsch.KeyPair)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityFile.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.IdentityFile
    signature: '[com.jcraft.jsch.IdentityFile].<init>(String,com.jcraft.jsch.KeyPair)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].decrypt(byte[])'
      Src: com.jcraft.jsch.IdentityFile:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.KeyPair
      - String
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - passphrase
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[com.jcraft.jsch.IdentityFile].setPassphrase(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityFile.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].decrypt(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.IdentityFile].setPassphrase(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
      Src: com.jcraft.jsch.IdentityFile:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.KeyPair
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[com.jcraft.jsch.IdentityFile].getPublicKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityFile.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.IdentityFile].getPublicKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getSignature(byte[])'
      Src: com.jcraft.jsch.IdentityFile:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.KeyPair
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.IdentityFile].getSignature(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityFile.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getSignature(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.IdentityFile].getSignature(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getSignature(byte[],String)'
      Src: com.jcraft.jsch.IdentityFile:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.KeyPair
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - alg
    argTypes:
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[com.jcraft.jsch.IdentityFile].getSignature(byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityFile.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getSignature(byte[],String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.IdentityFile].getSignature(byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
      Src: com.jcraft.jsch.IdentityFile:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.KeyPair
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '[com.jcraft.jsch.IdentityFile].getAlgName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityFile.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.IdentityFile].getAlgName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.KeyPair
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[com.jcraft.jsch.IdentityFile].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityFile.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.IdentityFile].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].isEncrypted()'
      Src: com.jcraft.jsch.IdentityFile:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.KeyPair
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: '[com.jcraft.jsch.IdentityFile].isEncrypted()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityFile.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].isEncrypted()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.IdentityFile].isEncrypted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].dispose()'
      Src: com.jcraft.jsch.IdentityFile:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.KeyPair
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: '[com.jcraft.jsch.IdentityFile].clear()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityFile.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].dispose()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.IdentityFile].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.KeyPair
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: '[com.jcraft.jsch.IdentityFile].getKeyPair()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/IdentityFile.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.IdentityFile].getKeyPair()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.Cipher].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Cipher.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Cipher].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.Cipher].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Cipher.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Cipher].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[com.jcraft.jsch.Cipher].getTagSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Cipher.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Cipher].getTagSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.Cipher].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Cipher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Cipher].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.Cipher].update(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Cipher.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Cipher].update(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.Cipher].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Cipher.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Cipher].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - s1
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '[com.jcraft.jsch.Cipher].updateAAD(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Cipher.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Cipher].updateAAD(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '[com.jcraft.jsch.Cipher].doFinal(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Cipher.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Cipher].doFinal(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '[com.jcraft.jsch.Cipher].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Cipher.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Cipher].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[com.jcraft.jsch.Cipher].isAEAD()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Cipher.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Cipher].isAEAD()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[com.jcraft.jsch.Cipher].isChaCha20()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Cipher.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Cipher].isChaCha20()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Cipher
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Cipher].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Cipher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Cipher
    signature: '[com.jcraft.jsch.Cipher].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UserAuth].start(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.UserAuthPublicKey:40,1
    - Dst: '[com.jcraft.jsch.Session].getIdentityRepository()'
      Src: com.jcraft.jsch.UserAuthPublicKey:42,1
    - Dst: '[com.jcraft.jsch.IdentityRepository].getIdentities()'
      Src: com.jcraft.jsch.UserAuthPublicKey:42,1
    - Dst: '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
      Src: com.jcraft.jsch.UserAuthPublicKey:45,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:49,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:50,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:50,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:51,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:51,1
    - Dst: '[com.jcraft.jsch.Session].getUnavailableSignatures()'
      Src: com.jcraft.jsch.UserAuthPublicKey:54,1
    - Dst: '[java.util.Arrays].asList(String[])'
      Src: com.jcraft.jsch.UserAuthPublicKey:56,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: com.jcraft.jsch.UserAuthPublicKey:57,1
    - Dst: not_available_pks.isEmpty()
      Src: com.jcraft.jsch.UserAuthPublicKey:58,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:59,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:59,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:60,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:60,1
    - Dst: '[com.jcraft.jsch.Util].split(String,String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:65,1
    - Dst: '[java.util.Arrays].asList(String[])'
      Src: com.jcraft.jsch.UserAuthPublicKey:65,1
    - Dst: '[com.jcraft.jsch.UserAuthPublicKey].isEmpty()'
      Src: com.jcraft.jsch.UserAuthPublicKey:66,1
    - Dst: '[com.jcraft.jsch.Session].getServerSigAlgs()'
      Src: com.jcraft.jsch.UserAuthPublicKey:70,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: com.jcraft.jsch.UserAuthPublicKey:72,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: com.jcraft.jsch.UserAuthPublicKey:73,1
    - Dst: pkmethod.equals(com.jcraft.jsch.UserAuthPublicKey)
      Src: com.jcraft.jsch.UserAuthPublicKey:77,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:84,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:86,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: com.jcraft.jsch.UserAuthPublicKey:90,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:91,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:91,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:92,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:92,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: com.jcraft.jsch.UserAuthPublicKey:97,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:98,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:98,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:99,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:99,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: com.jcraft.jsch.UserAuthPublicKey:104,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: com.jcraft.jsch.UserAuthPublicKey:104,1
    - Dst: '[com.jcraft.jsch.UserAuthPublicKey]._start(com.jcraft.jsch.Session,java.util.Vector<com.jcraft.jsch.Identity>,java.util.ArrayList,com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:105,1
    - Dst: '[com.jcraft.jsch.UserAuthPublicKey]._start(com.jcraft.jsch.Session,java.util.Vector<com.jcraft.jsch.Identity>,java.util.ArrayList,com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:110,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:113,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:113,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:114,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:114,1
    - Dst: '[com.jcraft.jsch.UserAuthPublicKey]._start(com.jcraft.jsch.Session,java.util.Vector<com.jcraft.jsch.Identity>,com.jcraft.jsch.UserAuthPublicKey,com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:119,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.UserAuth
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 121
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 121
    functionName: '[com.jcraft.jsch.UserAuthPublicKey].start(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthPublicKey.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[java.util.Collections].emptyList()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,String)'
    - '[com.jcraft.jsch.Util].split(String,String)'
    - '[com.jcraft.jsch.Session].getIdentityRepository()'
    - '[com.jcraft.jsch.UserAuthPublicKey].isEmpty()'
    - '[com.jcraft.jsch.IdentityRepository].getIdentities()'
    - not_available_pks.isEmpty()
    - '[com.jcraft.jsch.UserAuthPublicKey]._start(com.jcraft.jsch.Session,java.util.Vector<com.jcraft.jsch.Identity>,com.jcraft.jsch.UserAuthPublicKey,com.jcraft.jsch.UserAuthPublicKey)'
    - '[com.jcraft.jsch.UserAuthPublicKey]._start(com.jcraft.jsch.Session,java.util.Vector<com.jcraft.jsch.Identity>,java.util.ArrayList,com.jcraft.jsch.UserAuthPublicKey)'
    - '[com.jcraft.jsch.UserAuth].start(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.Session].getServerSigAlgs()'
    - '[java.util.ArrayList].<init>()'
    - pkmethod.equals(com.jcraft.jsch.UserAuthPublicKey)
    - '[java.util.Vector<com.jcraft.jsch.Identity>].size()'
    - '[java.util.Arrays].asList(String[])'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
    - '[com.jcraft.jsch.Session].getUnavailableSignatures()'
    - '[java.util.ArrayList].isEmpty()'
    - '[java.util.ArrayList].add(com.jcraft.jsch.UserAuthPublicKey)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.UserAuthPublicKey].start(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:129,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:129,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:131,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:131,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: com.jcraft.jsch.UserAuthPublicKey:133,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: com.jcraft.jsch.UserAuthPublicKey:134,1
    - Dst: pkmethod.equals(String)
      Src: com.jcraft.jsch.UserAuthPublicKey:136,1
    - Dst: pkmethod.equals(String)
      Src: com.jcraft.jsch.UserAuthPublicKey:136,1
    - Dst: pkmethod.equals(String)
      Src: com.jcraft.jsch.UserAuthPublicKey:137,1
    - Dst: pkmethod.equals(String)
      Src: com.jcraft.jsch.UserAuthPublicKey:137,1
    - Dst: pkmethod.equals(String)
      Src: com.jcraft.jsch.UserAuthPublicKey:138,1
    - Dst: pkmethod.equals(String)
      Src: com.jcraft.jsch.UserAuthPublicKey:138,1
    - Dst: pkmethod.equals(String)
      Src: com.jcraft.jsch.UserAuthPublicKey:139,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:140,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:142,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:146,1
    - Dst: '[com.jcraft.jsch.UserAuthPublicKey].decryptKey(com.jcraft.jsch.Session,com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:157,1
    - Dst: identity.getAlgName()
      Src: com.jcraft.jsch.UserAuthPublicKey:160,1
    - Dst: '[com.jcraft.jsch.UserAuthPublicKey].equals(String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:162,1
    - Dst: '[java.util.ArrayList].<init>(java.util.ArrayList)'
      Src: com.jcraft.jsch.UserAuthPublicKey:163,1
    - Dst: '[java.util.ArrayList].contains(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:164,1
    - Dst: '[java.util.ArrayList].<init>(int)'
      Src: com.jcraft.jsch.UserAuthPublicKey:165,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:166,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: com.jcraft.jsch.UserAuthPublicKey:168,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:169,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:169,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:170,1
    - Dst: identity.getName()
      Src: com.jcraft.jsch.UserAuthPublicKey:171,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:170,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: com.jcraft.jsch.UserAuthPublicKey:176,1
    - Dst: identity.getPublicKeyBlob()
      Src: com.jcraft.jsch.UserAuthPublicKey:178,1
    - Dst: '[java.util.ArrayList].iterator()'
      Src: com.jcraft.jsch.UserAuthPublicKey:183,1
    - Dst: '[com.jcraft.jsch.UserAuthPublicKey].hasNext()'
      Src: com.jcraft.jsch.UserAuthPublicKey:184,1
    - Dst: '[com.jcraft.jsch.UserAuthPublicKey].next()'
      Src: com.jcraft.jsch.UserAuthPublicKey:185,1
    - Dst: '[com.jcraft.jsch.UserAuthPublicKey].remove()'
      Src: com.jcraft.jsch.UserAuthPublicKey:186,1
    - Dst: '[java.util.List<String>].contains(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:187,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:188,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:188,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:189,1
    - Dst: identity.getName()
      Src: com.jcraft.jsch.UserAuthPublicKey:190,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:189,1
    - Dst: packet.reset()
      Src: com.jcraft.jsch.UserAuthPublicKey:203,1
    - Dst: buf.putByte(byte)
      Src: com.jcraft.jsch.UserAuthPublicKey:204,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthPublicKey:205,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:206,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthPublicKey:206,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:207,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthPublicKey:207,1
    - Dst: buf.putByte(byte)
      Src: com.jcraft.jsch.UserAuthPublicKey:208,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:209,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthPublicKey:209,1
    - Dst: buf.putString(com.jcraft.jsch.UserAuthPublicKey)
      Src: com.jcraft.jsch.UserAuthPublicKey:210,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:211,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:214,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.UserAuthPublicKey:215,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:218,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:218,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:219,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:219,1
    - Dst: '[java.util.ArrayList].<init>(int)'
      Src: com.jcraft.jsch.UserAuthPublicKey:221,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:222,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:225,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:225,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:226,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:226,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthPublicKey:230,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthPublicKey:231,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthPublicKey:232,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthPublicKey:233,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthPublicKey:234,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthPublicKey:235,1
    - Dst: userinfo.showMessage(String)
      Src: com.jcraft.jsch.UserAuthPublicKey:237,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:243,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:243,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:244,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:244,1
    - Dst: identity.isEncrypted()
      Src: com.jcraft.jsch.UserAuthPublicKey:257,1
    - Dst: identity.getPublicKeyBlob()
      Src: com.jcraft.jsch.UserAuthPublicKey:260,1
    - Dst: pkmethodsuccesses.isEmpty()
      Src: com.jcraft.jsch.UserAuthPublicKey:268,1
    - Dst: pkmethodsuccesses.iterator()
      Src: com.jcraft.jsch.UserAuthPublicKey:271,1
    - Dst: '[com.jcraft.jsch.UserAuthPublicKey].hasNext()'
      Src: com.jcraft.jsch.UserAuthPublicKey:272,1
    - Dst: '[com.jcraft.jsch.UserAuthPublicKey].next()'
      Src: com.jcraft.jsch.UserAuthPublicKey:273,1
    - Dst: '[com.jcraft.jsch.UserAuthPublicKey].remove()'
      Src: com.jcraft.jsch.UserAuthPublicKey:274,1
    - Dst: '[java.util.List<String>].contains(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:275,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:276,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:276,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:277,1
    - Dst: identity.getName()
      Src: com.jcraft.jsch.UserAuthPublicKey:278,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:277,1
    - Dst: packet.reset()
      Src: com.jcraft.jsch.UserAuthPublicKey:292,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.UserAuthPublicKey:293,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthPublicKey:294,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:295,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthPublicKey:295,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:296,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthPublicKey:296,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.UserAuthPublicKey:297,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:298,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthPublicKey:298,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:299,1
    - Dst: '[com.jcraft.jsch.Session].getSessionId()'
      Src: com.jcraft.jsch.UserAuthPublicKey:305,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.UserAuthPublicKey,int,com.jcraft.jsch.UserAuthPublicKey)
      Src: com.jcraft.jsch.UserAuthPublicKey:312,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.UserAuthPublicKey,int,int)
      Src: com.jcraft.jsch.UserAuthPublicKey:313,1
    - Dst: identity.getSignature(com.jcraft.jsch.UserAuthPublicKey,com.jcraft.jsch.UserAuthPublicKey)
      Src: com.jcraft.jsch.UserAuthPublicKey:314,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:316,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:316,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:317,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:317,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:321,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:322,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.UserAuthPublicKey:325,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.UserAuthPublicKey:326,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:329,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:329,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:330,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:330,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthPublicKey:334,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthPublicKey:335,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthPublicKey:336,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthPublicKey:337,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthPublicKey:338,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthPublicKey:339,1
    - Dst: userinfo.showMessage(String)
      Src: com.jcraft.jsch.UserAuthPublicKey:341,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthPublicKey:345,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthPublicKey:346,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthPublicKey:347,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthPublicKey:348,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthPublicKey:349,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthPublicKey:353,1
    - Dst: '[com.jcraft.jsch.JSchPartialAuthException].<init>(String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:353,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:356,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:356,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:357,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:357,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:370,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:370,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthPublicKey:371,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:371,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 227
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - java.util.List<com.jcraft.jsch.Identity>
      - java.util.List<String>
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.UserAuth
    argCount: 4
    argNames:
    - session
    - identities
    - pkmethods
    - not_available_pks
    argTypes:
    - com.jcraft.jsch.Session
    - java.util.List<com.jcraft.jsch.Identity>
    - java.util.List<String>
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 380
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 380
    functionName: '[com.jcraft.jsch.UserAuthPublicKey]._start(com.jcraft.jsch.Session,java.util.List<com.jcraft.jsch.Identity>,java.util.List<String>,java.util.List<String>)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthPublicKey.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.UserAuthPublicKey].equals(String)'
    - buf.putByte(byte)
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - pkmethod.equals(String)
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,String)'
    - '[java.util.ArrayList].<init>(int)'
    - packet.reset()
    - buf.putString(com.jcraft.jsch.UserAuthPublicKey)
    - '[java.util.ArrayList].<init>(java.util.ArrayList)'
    - '[java.util.ArrayList].iterator()'
    - System.arraycopy(byte[],int,com.jcraft.jsch.UserAuthPublicKey,int,com.jcraft.jsch.UserAuthPublicKey)
    - identity.getSignature(com.jcraft.jsch.UserAuthPublicKey,com.jcraft.jsch.UserAuthPublicKey)
    - System.arraycopy(byte[],int,com.jcraft.jsch.UserAuthPublicKey,int,int)
    - '[com.jcraft.jsch.Session].getSessionId()'
    - '[com.jcraft.jsch.UserAuthPublicKey].decryptKey(com.jcraft.jsch.Session,com.jcraft.jsch.UserAuthPublicKey)'
    - identity.getAlgName()
    - buf.putString(byte[])
    - '[com.jcraft.jsch.Session].read(com.jcraft.jsch.UserAuthPublicKey)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthPublicKey,com.jcraft.jsch.UserAuthPublicKey)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthPublicKey)'
    - '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.UserAuthPublicKey)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[java.util.ArrayList].<init>()'
    - identity.getName()
    - '[com.jcraft.jsch.UserAuthPublicKey].hasNext()'
    - '[com.jcraft.jsch.UserAuthPublicKey].next()'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - userinfo.showMessage(String)
    - identity.isEncrypted()
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthPublicKey)'
    - '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
    - '[java.util.ArrayList].contains(com.jcraft.jsch.UserAuthPublicKey)'
    - '[com.jcraft.jsch.UserAuthPublicKey].remove()'
    - '[com.jcraft.jsch.JSchPartialAuthException].<init>(String)'
    - '[java.util.List<String>].contains(com.jcraft.jsch.UserAuthPublicKey)'
    - identity.getPublicKeyBlob()
    - '[com.jcraft.jsch.Buffer].getCommand()'
    - '[java.util.ArrayList].isEmpty()'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthPublicKey)'
    - pkmethodsuccesses.isEmpty()
    - '[java.util.ArrayList].add(com.jcraft.jsch.UserAuthPublicKey)'
    - pkmethodsuccesses.iterator()
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.UserAuthPublicKey]._start(com.jcraft.jsch.Session,java.util.List<com.jcraft.jsch.Identity>,java.util.List<String>,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Identity].isEncrypted()'
      Src: com.jcraft.jsch.UserAuthPublicKey:386,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:388,1
    - Dst: '[com.jcraft.jsch.Identity].isEncrypted()'
      Src: com.jcraft.jsch.UserAuthPublicKey:389,1
    - Dst: '[com.jcraft.jsch.Identity].getName()'
      Src: com.jcraft.jsch.UserAuthPublicKey:390,1
    - Dst: userinfo.promptPassphrase(String)
      Src: com.jcraft.jsch.UserAuthPublicKey:390,1
    - Dst: '[com.jcraft.jsch.JSchAuthCancelException].<init>(String)'
      Src: com.jcraft.jsch.UserAuthPublicKey:391,1
    - Dst: userinfo.getPassphrase()
      Src: com.jcraft.jsch.UserAuthPublicKey:395,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:397,1
    - Dst: '[com.jcraft.jsch.Identity].isEncrypted()'
      Src: com.jcraft.jsch.UserAuthPublicKey:401,1
    - Dst: '[com.jcraft.jsch.Identity].setPassphrase(byte[])'
      Src: com.jcraft.jsch.UserAuthPublicKey:402,1
    - Dst: '[com.jcraft.jsch.Session].getIdentityRepository()'
      Src: com.jcraft.jsch.UserAuthPublicKey:404,1
    - Dst: '[com.jcraft.jsch.Session].getIdentityRepository()'
      Src: com.jcraft.jsch.UserAuthPublicKey:405,1
    - Dst: '[com.jcraft.jsch.IdentityRepositoryWrapper].check()'
      Src: com.jcraft.jsch.UserAuthPublicKey:405,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.UserAuthPublicKey:410,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.UserAuthPublicKey)'
      Src: com.jcraft.jsch.UserAuthPublicKey:417,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Identity
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.UserAuth
    argCount: 2
    argNames:
    - session
    - identity
    argTypes:
    - com.jcraft.jsch.Session
    - com.jcraft.jsch.Identity
    constantsTouched: []
    func_position:
      end: 419
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 419
    functionName: '[com.jcraft.jsch.UserAuthPublicKey].decryptKey(com.jcraft.jsch.Session,com.jcraft.jsch.Identity)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthPublicKey.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Identity].isEncrypted()'
    - '[com.jcraft.jsch.Identity].getName()'
    - '[com.jcraft.jsch.IdentityRepositoryWrapper].check()'
    - '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.UserAuthPublicKey)'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthPublicKey)'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - userinfo.promptPassphrase(String)
    - '[com.jcraft.jsch.Session].getIdentityRepository()'
    - '[com.jcraft.jsch.Identity].setPassphrase(byte[])'
    - '[com.jcraft.jsch.JSchAuthCancelException].<init>(String)'
    - userinfo.getPassphrase()
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.UserAuthPublicKey].decryptKey(com.jcraft.jsch.Session,com.jcraft.jsch.Identity)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.UserAuthPublicKey
      static: false
      superClass: com.jcraft.jsch.UserAuth
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.UserAuthPublicKey].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthPublicKey.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.UserAuthPublicKey
    signature: '[com.jcraft.jsch.UserAuthPublicKey].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSession].<init>()'
      Src: com.jcraft.jsch.ChannelShell:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.ChannelShell
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.ChannelShell].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelShell.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSession].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelShell
    signature: '[com.jcraft.jsch.ChannelShell].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelShell].getSession()'
      Src: com.jcraft.jsch.ChannelShell:38,1
    - Dst: '[com.jcraft.jsch.ChannelShell].sendRequests()'
      Src: com.jcraft.jsch.ChannelShell:40,1
    - Dst: '[com.jcraft.jsch.RequestShell].<init>()'
      Src: com.jcraft.jsch.ChannelShell:42,1
    - Dst: '[com.jcraft.jsch.RequestShell].request(com.jcraft.jsch.ChannelShell)'
      Src: com.jcraft.jsch.ChannelShell:43,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.ChannelShell)'
      Src: com.jcraft.jsch.ChannelShell:47,1
    - Dst: '[com.jcraft.jsch.ChannelShell].getThreadFactory()'
      Src: com.jcraft.jsch.ChannelShell:51,1
    - Dst: '[com.jcraft.jsch.ChannelShell].newThread()'
      Src: com.jcraft.jsch.ChannelShell:51,1
    - Dst: '[com.jcraft.jsch.ChannelShell].setName(String)'
      Src: com.jcraft.jsch.ChannelShell:52,1
    - Dst: '[com.jcraft.jsch.ChannelShell].setDaemon(com.jcraft.jsch.ChannelShell)'
      Src: com.jcraft.jsch.ChannelShell:54,1
    - Dst: '[com.jcraft.jsch.ChannelShell].start()'
      Src: com.jcraft.jsch.ChannelShell:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.ChannelShell].start()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelShell.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelShell].getSession()'
    - '[com.jcraft.jsch.RequestShell].<init>()'
    - '[com.jcraft.jsch.ChannelShell].newThread()'
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.ChannelShell)'
    - '[com.jcraft.jsch.ChannelShell].getThreadFactory()'
    - '[com.jcraft.jsch.ChannelShell].sendRequests()'
    - '[com.jcraft.jsch.ChannelShell].setName(String)'
    - '[com.jcraft.jsch.RequestShell].request(com.jcraft.jsch.ChannelShell)'
    - '[com.jcraft.jsch.ChannelShell].setDaemon(com.jcraft.jsch.ChannelShell)'
    - '[com.jcraft.jsch.ChannelShell].start()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelShell].start()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelShell].getSession()'
      Src: com.jcraft.jsch.ChannelShell:62,1
    - Dst: io.setInputStream(com.jcraft.jsch.ChannelShell)
      Src: com.jcraft.jsch.ChannelShell:62,1
    - Dst: '[com.jcraft.jsch.ChannelShell].getSession()'
      Src: com.jcraft.jsch.ChannelShell:63,1
    - Dst: io.setOutputStream(com.jcraft.jsch.ChannelShell)
      Src: com.jcraft.jsch.ChannelShell:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: '[com.jcraft.jsch.ChannelShell].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelShell.java
    functionUses: 0
    functionsReached:
    - io.setOutputStream(com.jcraft.jsch.ChannelShell)
    - '[com.jcraft.jsch.ChannelShell].getSession()'
    - io.setInputStream(com.jcraft.jsch.ChannelShell)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelShell].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[com.jcraft.jsch.DHG1].G()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG1.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DHG1].G()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[com.jcraft.jsch.DHG1].P()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG1.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DHG1].P()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[com.jcraft.jsch.DHG1].sha_name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG1.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.DHG1].sha_name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHG1
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHG1].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG1.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHG1
    signature: '[com.jcraft.jsch.DHG1].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - keylen
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.KeyPairGenEdDSA].init(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairGenEdDSA].init(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.KeyPairGenEdDSA].getPub()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenEdDSA].getPub()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.KeyPairGenEdDSA].getPrv()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenEdDSA].getPrv()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: com.jcraft.jsch.KeyPairGenEdDSA:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - prv
    argTypes:
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.KeyPairGenEdDSA].init(String,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairGenEdDSA].init(String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyPairGenEdDSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KeyPairGenEdDSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairGenEdDSA
    signature: '[com.jcraft.jsch.KeyPairGenEdDSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UserAuth].start(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:46,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:48,1
    - Dst: packet.reset()
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:50,1
    - Dst: buf.putByte(byte)
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:58,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:59,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:60,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:60,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:61,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:61,1
    - Dst: buf.putInt(com.jcraft.jsch.UserAuthGSSAPIWithMIC)
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:62,1
    - Dst: buf.putString()
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:64,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:66,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:71,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:72,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:79,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:80,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:81,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:82,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[])'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:85,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:99,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:100,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:101,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:102,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:103,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:104,1
    - Dst: userinfo.showMessage(String)
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:106,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:116,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:116,1
    - Dst: '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].asSubclass()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:116,1
    - Dst: '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].getDeclaredConstructor()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:117,1
    - Dst: '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].newInstance()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:117,1
    - Dst: '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].create(com.jcraft.jsch.UserAuthGSSAPIWithMIC,String)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:123,1
    - Dst: '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].isEstablished()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:130,1
    - Dst: '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].init(com.jcraft.jsch.UserAuthGSSAPIWithMIC,int,com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:132,1
    - Dst: packet.reset()
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:142,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:143,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:144,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:145,1
    - Dst: '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].isEstablished()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:148,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:149,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:150,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:157,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:158,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:163,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:164,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:172,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:173,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:174,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:175,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:179,1
    - Dst: '[com.jcraft.jsch.Session].getSessionId()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:185,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:185,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:186,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:187,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:188,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:188,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:189,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:189,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:191,1
    - Dst: '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].getMIC(byte[],int,int)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:191,1
    - Dst: packet.reset()
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:197,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:198,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:199,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:200,1
    - Dst: '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].dispose()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:202,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:204,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:205,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:210,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:211,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:212,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:213,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:214,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:218,1
    - Dst: '[com.jcraft.jsch.JSchPartialAuthException].<init>(String)'
      Src: com.jcraft.jsch.UserAuthGSSAPIWithMIC:218,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 117
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[][]
      - String[]
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.UserAuth
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 222
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 222
    functionName: '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].start(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthGSSAPIWithMIC.java
    functionUses: 0
    functionsReached:
    - buf.putInt(com.jcraft.jsch.UserAuthGSSAPIWithMIC)
    - buf.putByte(byte)
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - buf.putString()
    - packet.reset()
    - '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
    - '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].asSubclass()'
    - '[com.jcraft.jsch.Session].read(com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
    - '[com.jcraft.jsch.Session].getSessionId()'
    - '[com.jcraft.jsch.Session].getConfig(com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
    - buf.putString(byte[])
    - '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].getMIC(byte[],int,int)'
    - '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].init(com.jcraft.jsch.UserAuthGSSAPIWithMIC,int,com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
    - '[com.jcraft.jsch.UserAuth].start(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
    - '[com.jcraft.jsch.Buffer].getLength()'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - Class.forName(String)
    - userinfo.showMessage(String)
    - '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].newInstance()'
    - '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.JSchPartialAuthException].<init>(String)'
    - '[com.jcraft.jsch.Buffer].getCommand()'
    - '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].create(com.jcraft.jsch.UserAuthGSSAPIWithMIC,String)'
    - '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].getDeclaredConstructor()'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthGSSAPIWithMIC)'
    - '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].isEstablished()'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].dispose()'
    - '[com.jcraft.jsch.Util].array_equals(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].start(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[][]
      - String[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.UserAuthGSSAPIWithMIC
      static: false
      superClass: com.jcraft.jsch.UserAuth
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthGSSAPIWithMIC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.UserAuthGSSAPIWithMIC
    signature: '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 4
    argNames:
    - col
    - row
    - wp
    - hp
    argTypes:
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.RequestWindowChange].setSize(int,int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestWindowChange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestWindowChange].setSize(int,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.RequestWindowChange:44,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.RequestWindowChange:46,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.RequestWindowChange:47,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.RequestWindowChange:57,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestWindowChange:58,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.RequestWindowChange:59,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestWindowChange:59,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestWindowChange:60,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestWindowChange:60,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestWindowChange:61,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestWindowChange:62,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestWindowChange:63,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestWindowChange:64,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestWindowChange:65,1
    - Dst: '[com.jcraft.jsch.RequestWindowChange].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.RequestWindowChange:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 2
    argNames:
    - session
    - channel
    argTypes:
    - com.jcraft.jsch.Session
    - com.jcraft.jsch.Channel
    constantsTouched: []
    func_position:
      end: 67
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 67
    functionName: '[com.jcraft.jsch.RequestWindowChange].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestWindowChange.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.RequestWindowChange].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestWindowChange].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.RequestWindowChange
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.RequestWindowChange].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestWindowChange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.RequestWindowChange
    signature: '[com.jcraft.jsch.RequestWindowChange].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.UserAuth].start(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.UserAuthNone:37,1
    - Dst: packet.reset()
      Src: com.jcraft.jsch.UserAuthNone:42,1
    - Dst: buf.putByte(byte)
      Src: com.jcraft.jsch.UserAuthNone:43,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthNone:44,1
    - Dst: buf.putString(byte[])
      Src: com.jcraft.jsch.UserAuthNone:44,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthNone)'
      Src: com.jcraft.jsch.UserAuthNone:45,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthNone:47,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthNone)'
      Src: com.jcraft.jsch.UserAuthNone:47,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthNone:48,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthNone,String)'
      Src: com.jcraft.jsch.UserAuthNone:48,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.UserAuthNone)'
      Src: com.jcraft.jsch.UserAuthNone:54,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.UserAuthNone:55,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthNone:59,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthNone)'
      Src: com.jcraft.jsch.UserAuthNone:59,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.UserAuthNone:60,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthNone,String)'
      Src: com.jcraft.jsch.UserAuthNone:60,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.UserAuthNone:65,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.UserAuthNone:65,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthNone)'
      Src: com.jcraft.jsch.UserAuthNone:69,1
    - Dst: packet.reset()
      Src: com.jcraft.jsch.UserAuthNone:76,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.UserAuthNone:77,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthNone:78,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthNone:79,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthNone:79,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.UserAuthNone:80,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.UserAuthNone:80,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthNone)'
      Src: com.jcraft.jsch.UserAuthNone:81,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.UserAuthNone:84,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.UserAuthNone:85,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthNone:91,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthNone:92,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthNone:93,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthNone:94,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthNone:95,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthNone:96,1
    - Dst: userinfo.showMessage(String)
      Src: com.jcraft.jsch.UserAuthNone:99,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.UserAuthNone:106,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthNone:107,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthNone:108,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.UserAuthNone:109,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.UserAuthNone:110,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.UserAuthNone:111,1
    - Dst: '[com.jcraft.jsch.UserAuthNone].setMethods(String)'
      Src: com.jcraft.jsch.UserAuthNone:111,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.UserAuthNone:121,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.UserAuth
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 126
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 126
    functionName: '[com.jcraft.jsch.UserAuthNone].start(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthNone.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.UserAuthNone)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - buf.putByte(byte)
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - packet.reset()
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.UserAuthNone,String)'
    - buf.putString(byte[])
    - '[com.jcraft.jsch.UserAuth].start(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.UserAuthNone)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.UserAuthNone)'
    - '[com.jcraft.jsch.UserAuthNone].setMethods(String)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - userinfo.showMessage(String)
    - '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Session].read(com.jcraft.jsch.UserAuthNone)'
    - '[com.jcraft.jsch.Buffer].getCommand()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.UserAuthNone].start(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.UserAuth
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: '[com.jcraft.jsch.UserAuthNone].getMethods()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthNone.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.UserAuthNone].getMethods()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.UserAuth
    argCount: 1
    argNames:
    - methods
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: '[com.jcraft.jsch.UserAuthNone].setMethods(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthNone.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.UserAuthNone].setMethods(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.UserAuthNone
      static: false
      superClass: com.jcraft.jsch.UserAuth
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.UserAuthNone].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthNone.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.UserAuthNone
    signature: '[com.jcraft.jsch.UserAuthNone].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.SocketFactory
      - String
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - socket_factory
    - host
    - port
    - timeout
    argTypes:
    - com.jcraft.jsch.SocketFactory
    - String
    - int
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.Proxy].connect(com.jcraft.jsch.SocketFactory,String,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Proxy.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Proxy].connect(com.jcraft.jsch.SocketFactory,String,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.Proxy].getInputStream()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Proxy.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[com.jcraft.jsch.Proxy].getInputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.OutputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.Proxy].getOutputStream()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Proxy.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.io.OutputStream
    signature: '[com.jcraft.jsch.Proxy].getOutputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.net.Socket
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.Proxy].getSocket()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Proxy.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.net.Socket
    signature: '[com.jcraft.jsch.Proxy].getSocket()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '[com.jcraft.jsch.Proxy].close()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Proxy.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Proxy].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Proxy
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Proxy].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Proxy.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Proxy
    signature: '[com.jcraft.jsch.Proxy].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.SignatureECDSA].setPubKey(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SignatureECDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SignatureECDSA].setPubKey(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.SignatureECDSA].setPrvKey(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SignatureECDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SignatureECDSA].setPrvKey(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SignatureECDSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.SignatureECDSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SignatureECDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.SignatureECDSA
    signature: '[com.jcraft.jsch.SignatureECDSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.Util].val(byte)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: '[com.jcraft.jsch.Util].val(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].val()'
      Src: com.jcraft.jsch.Util:60,1
    - Dst: '[com.jcraft.jsch.Util].val()'
      Src: com.jcraft.jsch.Util:60,1
    - Dst: '[com.jcraft.jsch.Util].val()'
      Src: com.jcraft.jsch.Util:65,1
    - Dst: '[com.jcraft.jsch.Util].val()'
      Src: com.jcraft.jsch.Util:65,1
    - Dst: '[com.jcraft.jsch.Util].val()'
      Src: com.jcraft.jsch.Util:70,1
    - Dst: '[com.jcraft.jsch.Util].val()'
      Src: com.jcraft.jsch.Util:70,1
    - Dst: System.arraycopy(com.jcraft.jsch.Util,int,com.jcraft.jsch.Util,int,com.jcraft.jsch.Util)
      Src: com.jcraft.jsch.Util:74,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:77,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - start
    - length
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: '[com.jcraft.jsch.Util].fromBase64(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].val()'
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.Util)'
    - System.arraycopy(com.jcraft.jsch.Util,int,com.jcraft.jsch.Util,int,com.jcraft.jsch.Util)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Util].fromBase64(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(com.jcraft.jsch.Util,int,com.jcraft.jsch.Util,int,com.jcraft.jsch.Util)
      Src: com.jcraft.jsch.Util:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 86
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - buf
    - start
    - length
    - include_pad
    argTypes:
    - byte[]
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 125
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 125
    functionName: '[com.jcraft.jsch.Util].toBase64(byte[],int,int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(com.jcraft.jsch.Util,int,com.jcraft.jsch.Util,int,com.jcraft.jsch.Util)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Util].toBase64(byte[],int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Util:130,1
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.Util:131,1
    - Dst: '[String].indexOf(String,com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:135,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.Util,com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:137,1
    - Dst: '[java.util.Vector].addElement(String)'
      Src: com.jcraft.jsch.Util:137,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.Util,com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:141,1
    - Dst: '[java.util.Vector].addElement(String)'
      Src: com.jcraft.jsch.Util:141,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Util:144,1
    - Dst: '[java.util.Vector].elementAt(com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - foo
    - split
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 149
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 149
    functionName: '[com.jcraft.jsch.Util].split(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 8
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[java.util.Vector].size()'
    - '[java.util.Vector].elementAt(com.jcraft.jsch.Util)'
    - '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.Util,com.jcraft.jsch.Util)'
    - '[java.util.Vector].addElement(String)'
    - '[String].indexOf(String,com.jcraft.jsch.Util)'
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.Util].split(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].glob0(byte[],int,byte[],int)'
      Src: com.jcraft.jsch.Util:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - pattern
    - name
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: '[com.jcraft.jsch.Util].glob(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Util].glob0(byte[],int,byte[],int)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Util].glob(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].glob(byte[],int,byte[],int)'
      Src: com.jcraft.jsch.Util:160,1
    - Dst: '[com.jcraft.jsch.Util].glob(byte[],int,byte[],int)'
      Src: com.jcraft.jsch.Util:164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - pattern
    - pattern_index
    - name
    - name_index
    argTypes:
    - byte[]
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: '[com.jcraft.jsch.Util].glob0(byte[],int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].glob(byte[],int,byte[],int)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Util].glob0(byte[],int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].skipUTF8Char()'
      Src: com.jcraft.jsch.Util:186,1
    - Dst: '[com.jcraft.jsch.Util].skipUTF8Char()'
      Src: com.jcraft.jsch.Util:187,1
    - Dst: '[com.jcraft.jsch.Util].glob(byte[],int,byte[],int)'
      Src: com.jcraft.jsch.Util:205,1
    - Dst: '[com.jcraft.jsch.Util].skipUTF8Char()'
      Src: com.jcraft.jsch.Util:208,1
    - Dst: '[com.jcraft.jsch.Util].skipUTF8Char(com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:218,1
    - Dst: '[com.jcraft.jsch.Util].skipUTF8Char()'
      Src: com.jcraft.jsch.Util:218,1
    - Dst: '[com.jcraft.jsch.Util].glob(byte[],com.jcraft.jsch.Util,byte[],com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:218,1
    - Dst: '[com.jcraft.jsch.Util].skipUTF8Char()'
      Src: com.jcraft.jsch.Util:222,1
    - Dst: '[com.jcraft.jsch.Util].glob(byte[],int,byte[],int)'
      Src: com.jcraft.jsch.Util:229,1
    - Dst: '[com.jcraft.jsch.Util].skipUTF8Char()'
      Src: com.jcraft.jsch.Util:233,1
    - Dst: '[com.jcraft.jsch.Util].skipUTF8Char()'
      Src: com.jcraft.jsch.Util:240,1
    - Dst: '[com.jcraft.jsch.Util].skipUTF8Char()'
      Src: com.jcraft.jsch.Util:247,1
    - Dst: '[com.jcraft.jsch.Util].skipUTF8Char()'
      Src: com.jcraft.jsch.Util:248,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 67
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - pattern
    - pattern_index
    - name
    - name_index
    argTypes:
    - byte[]
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 277
    functionName: '[com.jcraft.jsch.Util].glob(byte[],int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Util].glob(byte[],com.jcraft.jsch.Util,byte[],com.jcraft.jsch.Util)'
    - '[com.jcraft.jsch.Util].glob(byte[],int,byte[],int)'
    - '[com.jcraft.jsch.Util].skipUTF8Char(com.jcraft.jsch.Util)'
    - '[com.jcraft.jsch.Util].skipUTF8Char()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Util].glob(byte[],int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Util:280,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:297,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 298
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 298
    functionName: '[com.jcraft.jsch.Util].quote(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.Util)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Util].quote(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Util:301,1
    - Dst: '[com.jcraft.jsch.Util].unquote(byte[])'
      Src: com.jcraft.jsch.Util:302,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(String)'
      Src: com.jcraft.jsch.Util:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: '[com.jcraft.jsch.Util].unquote(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 6
    functionsReached:
    - '[com.jcraft.jsch.Util].unquote(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Util].byte2str(String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Util].unquote(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],com.jcraft.jsch.Util,com.jcraft.jsch.Util)
      Src: com.jcraft.jsch.Util:315,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.Util,int,com.jcraft.jsch.Util)
      Src: com.jcraft.jsch.Util:325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 327
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 327
    functionName: '[com.jcraft.jsch.Util].unquote(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.Util,int,com.jcraft.jsch.Util)
    - System.arraycopy(byte[],int,byte[],com.jcraft.jsch.Util,com.jcraft.jsch.Util)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Util].unquote(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.HASH].init()'
      Src: com.jcraft.jsch.Util:334,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:335,1
    - Dst: '[com.jcraft.jsch.HASH].digest()'
      Src: com.jcraft.jsch.Util:336,1
    - Dst: '[StringBuilder].<init>()'
      Src: com.jcraft.jsch.Util:337,1
    - Dst: '[com.jcraft.jsch.HASH].name()'
      Src: com.jcraft.jsch.Util:339,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.Util:339,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.Util:340,1
    - Dst: '[com.jcraft.jsch.HASH].name()'
      Src: com.jcraft.jsch.Util:342,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Util:342,1
    - Dst: '[StringBuilder].append()'
      Src: com.jcraft.jsch.Util:346,1
    - Dst: '[StringBuilder].append()'
      Src: com.jcraft.jsch.Util:347,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.Util:349,1
    - Dst: '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.Util,boolean)'
      Src: com.jcraft.jsch.Util:352,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],int,com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:353,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.Util:353,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.Util:355,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.HASH
      - byte[]
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - hash
    - data
    - include_prefix
    - force_hex
    argTypes:
    - com.jcraft.jsch.HASH
    - byte[]
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 359
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 359
    functionName: '[com.jcraft.jsch.Util].getFingerPrint(com.jcraft.jsch.HASH,byte[],boolean,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[com.jcraft.jsch.HASH].update(byte[],int,com.jcraft.jsch.Util)'
    - '[com.jcraft.jsch.HASH].init()'
    - '[com.jcraft.jsch.HASH].name()'
    - '[StringBuilder].append(String)'
    - '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.Util,boolean)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Util].byte2str(byte[],int,com.jcraft.jsch.Util)'
    - '[StringBuilder].append()'
    - '[com.jcraft.jsch.HASH].digest()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Util].getFingerPrint(com.jcraft.jsch.HASH,byte[],boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - foo
    - bar
    argTypes:
    - byte[]
    - byte
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: '[com.jcraft.jsch.Util].array_equals(byte[],byte)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Util].array_equals(byte[],byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.Socket].<init>()'
      Src: com.jcraft.jsch.Util:374,1
    - Dst: '[java.net.InetSocketAddress].<init>(String,int)'
      Src: com.jcraft.jsch.Util:376,1
    - Dst: '[java.net.Socket].connect(java.net.InetSocketAddress,int)'
      Src: com.jcraft.jsch.Util:376,1
    - Dst: '[java.net.Socket].close()'
      Src: com.jcraft.jsch.Util:380,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.Util:385,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Util,com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.net.Socket
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - host
    - port
    - timeout
    argTypes:
    - String
    - int
    - int
    constantsTouched: []
    func_position:
      end: 388
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 388
    functionName: '[com.jcraft.jsch.Util].createSocket(String,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 5
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Util,com.jcraft.jsch.Util)'
    - '[java.net.Socket].close()'
    - '[java.net.Socket].<init>()'
    - '[java.net.Socket].connect(java.net.InetSocketAddress,int)'
    - e.toString()
    - '[java.net.InetSocketAddress].<init>(String,int)'
    linkageType: ''
    returnType: java.net.Socket
    signature: '[com.jcraft.jsch.Util].createSocket(String,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: com.jcraft.jsch.Util:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - str
    - encoding
    argTypes:
    - String
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 16
    functionsReached:
    - '[String].getBytes(java.nio.charset.Charset)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String,com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: '[com.jcraft.jsch.Util].str2byte(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 77
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String,com.jcraft.jsch.Util)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Util].str2byte(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],int,com.jcraft.jsch.Util,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.Util:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - str
    - encoding
    argTypes:
    - byte[]
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 6
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[],int,com.jcraft.jsch.Util,java.nio.charset.Charset)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].<init>(byte[],int,int,java.nio.charset.Charset)'
      Src: com.jcraft.jsch.Util:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - str
    - s
    - l
    - encoding
    argTypes:
    - byte[]
    - int
    - int
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: '[com.jcraft.jsch.Util].byte2str(byte[],int,int,java.nio.charset.Charset)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 0
    functionsReached:
    - '[String].<init>(byte[],int,int,java.nio.charset.Charset)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Util].byte2str(byte[],int,int,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],int,com.jcraft.jsch.Util,com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 410
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 410
    functionName: '[com.jcraft.jsch.Util].byte2str(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 33
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[],int,com.jcraft.jsch.Util,com.jcraft.jsch.Util)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Util].byte2str(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],int,int,com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - str
    - s
    - l
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: '[com.jcraft.jsch.Util].byte2str(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[],int,int,com.jcraft.jsch.Util)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Util].byte2str(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: com.jcraft.jsch.Util:417,1
    - Dst: Integer.toHexString(int)
      Src: com.jcraft.jsch.Util:419,1
    - Dst: '[StringBuilder].append(com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:420,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.Util:422,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.Util:424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: '[com.jcraft.jsch.Util].toHex(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].<init>()'
    - Integer.toHexString(int)
    - '[StringBuilder].append(String)'
    - '[StringBuilder].append(com.jcraft.jsch.Util)'
    - '[StringBuilder].toString()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Util].toHex(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: '[com.jcraft.jsch.Util].bzero(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Util].bzero(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].split(String,String)'
      Src: com.jcraft.jsch.Util:443,1
    - Dst: stra[i].equals()
      Src: com.jcraft.jsch.Util:447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - str
    - not_available
    argTypes:
    - String
    - String[]
    constantsTouched: []
    func_position:
      end: 458
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 458
    functionName: '[com.jcraft.jsch.Util].diffString(String,String[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].split(String,String)'
    - stra[i].equals()
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Util].diffString(String,String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(String)'
      Src: com.jcraft.jsch.Util:462,1
    - Dst: System.getProperty(String)
      Src: com.jcraft.jsch.Util:463,1
    - Dst: '[String].replace(String,com.jcraft.jsch.Util)'
      Src: com.jcraft.jsch.Util:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 468
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 468
    functionName: '[com.jcraft.jsch.Util].checkTilde(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 4
    functionsReached:
    - System.getProperty(String)
    - '[String].startsWith(String)'
    - '[String].replace(String,com.jcraft.jsch.Util)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Util].checkTilde(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - b
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 478
    functionName: '[com.jcraft.jsch.Util].skipUTF8Char(byte)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Util].skipUTF8Char(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].checkTilde(String)'
      Src: com.jcraft.jsch.Util:481,1
    - Dst: '[java.io.File].<init>(String)'
      Src: com.jcraft.jsch.Util:482,1
    - Dst: '[java.io.FileInputStream].<init>(String)'
      Src: com.jcraft.jsch.Util:483,1
    - Dst: '[java.io.File].length()'
      Src: com.jcraft.jsch.Util:484,1
    - Dst: fis.read(com.jcraft.jsch.Util,com.jcraft.jsch.Util,com.jcraft.jsch.Util)
      Src: com.jcraft.jsch.Util:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - _file
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 494
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 494
    functionName: '[com.jcraft.jsch.Util].fromFile(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 1
    functionsReached:
    - '[java.io.File].length()'
    - '[com.jcraft.jsch.Util].checkTilde(String)'
    - '[java.io.File].<init>(String)'
    - '[java.io.FileInputStream].<init>(String)'
    - fis.read(com.jcraft.jsch.Util,com.jcraft.jsch.Util,com.jcraft.jsch.Util)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Util].fromFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: '[com.jcraft.jsch.Util].arraysequals(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Util].arraysequals(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getenv(String)
      Src: com.jcraft.jsch.Util:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 512
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 512
    functionName: '[com.jcraft.jsch.Util].getSystemEnv(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 1
    functionsReached:
    - System.getenv(String)
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Util].getSystemEnv(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: com.jcraft.jsch.Util:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: '[com.jcraft.jsch.Util].getSystemProperty(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 1
    functionsReached:
    - System.getProperty(String)
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Util].getSystemProperty(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String,String)
      Src: com.jcraft.jsch.Util:524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - key
    - def
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 528
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 528
    functionName: '[com.jcraft.jsch.Util].getSystemProperty(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 1
    functionsReached:
    - System.getProperty(String,String)
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Util].getSystemProperty(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Util:43,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Util:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Util
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Util].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.Util
    signature: '[com.jcraft.jsch.Util].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHECNKEM:66,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.DHECNKEM:66,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].asSubclass()'
      Src: com.jcraft.jsch.DHECNKEM:66,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].getDeclaredConstructor()'
      Src: com.jcraft.jsch.DHECNKEM:67,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].newInstance()'
      Src: com.jcraft.jsch.DHECNKEM:67,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].init()'
      Src: com.jcraft.jsch.DHECNKEM:68,1
    - Dst: '[byte[]].toString()'
      Src: com.jcraft.jsch.DHECNKEM:70,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHECNKEM,byte[])'
      Src: com.jcraft.jsch.DHECNKEM:70,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.DHECNKEM:73,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.DHECNKEM:74,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.DHECNKEM:76,1
    - Dst: '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.DHECNKEM)'
      Src: com.jcraft.jsch.DHECNKEM:78,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.DHECNKEM:79,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHECNKEM:82,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.DHECNKEM:82,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].asSubclass()'
      Src: com.jcraft.jsch.DHECNKEM:82,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].getDeclaredConstructor()'
      Src: com.jcraft.jsch.DHECNKEM:83,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].newInstance()'
      Src: com.jcraft.jsch.DHECNKEM:83,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].init()'
      Src: com.jcraft.jsch.DHECNKEM:84,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHECNKEM:87,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.DHECNKEM:87,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].asSubclass()'
      Src: com.jcraft.jsch.DHECNKEM:87,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].getDeclaredConstructor()'
      Src: com.jcraft.jsch.DHECNKEM:88,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].newInstance()'
      Src: com.jcraft.jsch.DHECNKEM:88,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].init(int)'
      Src: com.jcraft.jsch.DHECNKEM:89,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].getPublicKey()'
      Src: com.jcraft.jsch.DHECNKEM:91,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].getQ()'
      Src: com.jcraft.jsch.DHECNKEM:92,1
    - Dst: System.arraycopy(com.jcraft.jsch.DHECNKEM,int,byte[],int,int)
      Src: com.jcraft.jsch.DHECNKEM:94,1
    - Dst: System.arraycopy(com.jcraft.jsch.DHECNKEM,int,byte[],int,int)
      Src: com.jcraft.jsch.DHECNKEM:95,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.DHECNKEM:96,1
    - Dst: '[byte[]].toString()'
      Src: com.jcraft.jsch.DHECNKEM:98,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHECNKEM,byte[])'
      Src: com.jcraft.jsch.DHECNKEM:98,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.DHECNKEM:105,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHECNKEM:107,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.DHECNKEM)'
      Src: com.jcraft.jsch.DHECNKEM:107,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHECNKEM:108,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHECNKEM,String)'
      Src: com.jcraft.jsch.DHECNKEM:108,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHECNKEM:109,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHECNKEM,String)'
      Src: com.jcraft.jsch.DHECNKEM:109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.KEM
      - com.jcraft.jsch.ECDH
      - String
      - String
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 5
    argNames:
    - session
    - V_S
    - V_C
    - I_S
    - I_C
    argTypes:
    - com.jcraft.jsch.Session
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 113
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 113
    functionName: '[com.jcraft.jsch.DHECNKEM].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHECNKEM.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.DHECNKEM].getPublicKey()'
    - '[com.jcraft.jsch.DHECNKEM].newInstance()'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.DHECNKEM)'
    - '[com.jcraft.jsch.DHECNKEM].init()'
    - '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.DHECNKEM)'
    - System.arraycopy(com.jcraft.jsch.DHECNKEM,int,byte[],int,int)
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHECNKEM,byte[])'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.DHECNKEM].getQ()'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.DHECNKEM].asSubclass()'
    - '[com.jcraft.jsch.DHECNKEM].init(int)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.DHECNKEM].getDeclaredConstructor()'
    - Class.forName(String)
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHECNKEM,String)'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[byte[]].toString()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.DHECNKEM].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.DHECNKEM:125,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.DHECNKEM:126,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.DHECNKEM:127,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHECNKEM:129,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].isEnabled(com.jcraft.jsch.DHECNKEM)'
      Src: com.jcraft.jsch.DHECNKEM:129,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHECNKEM:130,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].log(com.jcraft.jsch.DHECNKEM,String)'
      Src: com.jcraft.jsch.DHECNKEM:130,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHECNKEM:135,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHECNKEM:137,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.DHECNKEM,int,int)
      Src: com.jcraft.jsch.DHECNKEM:144,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.DHECNKEM,int,int)
      Src: com.jcraft.jsch.DHECNKEM:145,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].fromPoint(com.jcraft.jsch.DHECNKEM)'
      Src: com.jcraft.jsch.DHECNKEM:147,1
    - Dst: '[com.jcraft.jsch.ECDH].validate()'
      Src: com.jcraft.jsch.DHECNKEM:155,1
    - Dst: '[com.jcraft.jsch.KEM].decapsulate(com.jcraft.jsch.DHECNKEM)'
      Src: com.jcraft.jsch.DHECNKEM:161,1
    - Dst: sha.update(byte[],int,com.jcraft.jsch.DHECNKEM)
      Src: com.jcraft.jsch.DHECNKEM:162,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.DHECNKEM:164,1
    - Dst: '[com.jcraft.jsch.ECDH].getSecret()'
      Src: com.jcraft.jsch.DHECNKEM:167,1
    - Dst: sha.update(byte[],int,com.jcraft.jsch.DHECNKEM)
      Src: com.jcraft.jsch.DHECNKEM:168,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.DHECNKEM:170,1
    - Dst: sha.digest()
      Src: com.jcraft.jsch.DHECNKEM:172,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].encodeAsString(com.jcraft.jsch.DHECNKEM,boolean)'
      Src: com.jcraft.jsch.DHECNKEM:172,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHECNKEM:174,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHECNKEM:199,1
    - Dst: sha.update(com.jcraft.jsch.DHECNKEM,int,com.jcraft.jsch.DHECNKEM)
      Src: com.jcraft.jsch.DHECNKEM:200,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHECNKEM:201,1
    - Dst: sha.update(com.jcraft.jsch.DHECNKEM,int,com.jcraft.jsch.DHECNKEM)
      Src: com.jcraft.jsch.DHECNKEM:202,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHECNKEM:203,1
    - Dst: sha.update(com.jcraft.jsch.DHECNKEM,int,com.jcraft.jsch.DHECNKEM)
      Src: com.jcraft.jsch.DHECNKEM:204,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHECNKEM:205,1
    - Dst: sha.update(com.jcraft.jsch.DHECNKEM,int,com.jcraft.jsch.DHECNKEM)
      Src: com.jcraft.jsch.DHECNKEM:206,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHECNKEM:207,1
    - Dst: sha.update(com.jcraft.jsch.DHECNKEM,int,com.jcraft.jsch.DHECNKEM)
      Src: com.jcraft.jsch.DHECNKEM:208,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHECNKEM:209,1
    - Dst: sha.update(com.jcraft.jsch.DHECNKEM,int,com.jcraft.jsch.DHECNKEM)
      Src: com.jcraft.jsch.DHECNKEM:210,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHECNKEM:211,1
    - Dst: sha.update(com.jcraft.jsch.DHECNKEM,int,com.jcraft.jsch.DHECNKEM)
      Src: com.jcraft.jsch.DHECNKEM:212,1
    - Dst: sha.update(com.jcraft.jsch.DHECNKEM,int,com.jcraft.jsch.DHECNKEM)
      Src: com.jcraft.jsch.DHECNKEM:214,1
    - Dst: sha.digest()
      Src: com.jcraft.jsch.DHECNKEM:215,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.DHECNKEM,com.jcraft.jsch.DHECNKEM)'
      Src: com.jcraft.jsch.DHECNKEM:221,1
    - Dst: '[com.jcraft.jsch.DHECNKEM].verify(String,byte[],com.jcraft.jsch.DHECNKEM,byte[])'
      Src: com.jcraft.jsch.DHECNKEM:224,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 81
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.KEM
      - com.jcraft.jsch.ECDH
      - String
      - String
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 230
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 230
    functionName: '[com.jcraft.jsch.DHECNKEM].next(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHECNKEM.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.DHECNKEM,int,int)
    - '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.DHECNKEM,com.jcraft.jsch.DHECNKEM)'
    - sha.digest()
    - session.getLogger()
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.DHECNKEM].isEnabled(com.jcraft.jsch.DHECNKEM)'
    - '[com.jcraft.jsch.DHECNKEM].verify(String,byte[],com.jcraft.jsch.DHECNKEM,byte[])'
    - sha.update(com.jcraft.jsch.DHECNKEM,int,com.jcraft.jsch.DHECNKEM)
    - '[com.jcraft.jsch.DHECNKEM].encodeAsString(com.jcraft.jsch.DHECNKEM,boolean)'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - sha.update(byte[],int,com.jcraft.jsch.DHECNKEM)
    - '[com.jcraft.jsch.KeyPairECDSA].fromPoint(com.jcraft.jsch.DHECNKEM)'
    - '[com.jcraft.jsch.DHECNKEM].encodeAsString(byte[],boolean)'
    - '[com.jcraft.jsch.ECDH].getSecret()'
    - '[com.jcraft.jsch.KEM].decapsulate(com.jcraft.jsch.DHECNKEM)'
    - '[com.jcraft.jsch.ECDH].validate()'
    - '[com.jcraft.jsch.DHECNKEM].log(com.jcraft.jsch.DHECNKEM,String)'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.DHECNKEM].next(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.KEM
      - com.jcraft.jsch.ECDH
      - String
      - String
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: '[com.jcraft.jsch.DHECNKEM].getState()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHECNKEM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.DHECNKEM].getState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.KEM
      - com.jcraft.jsch.ECDH
      - String
      - String
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHECNKEM
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHECNKEM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHECNKEM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHECNKEM
    signature: '[com.jcraft.jsch.DHECNKEM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.ChannelForwardedTCPIP
      - java.io.InputStream
      - java.io.OutputStream
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - channel
    - in
    - out
    argTypes:
    - com.jcraft.jsch.ChannelForwardedTCPIP
    - java.io.InputStream
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.ForwardedTCPIPDaemon].setChannel(com.jcraft.jsch.ChannelForwardedTCPIP,java.io.InputStream,java.io.OutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ForwardedTCPIPDaemon.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ForwardedTCPIPDaemon].setChannel(com.jcraft.jsch.ChannelForwardedTCPIP,java.io.InputStream,java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Object[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - Object[]
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.ForwardedTCPIPDaemon].setArg(Object[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ForwardedTCPIPDaemon.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ForwardedTCPIPDaemon].setArg(Object[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ForwardedTCPIPDaemon
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ForwardedTCPIPDaemon].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ForwardedTCPIPDaemon.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ForwardedTCPIPDaemon
    signature: '[com.jcraft.jsch.ForwardedTCPIPDaemon].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelSession:33,1
    - Dst: '[com.jcraft.jsch.Channel].<init>()'
      Src: com.jcraft.jsch.ChannelSession:49,1
    - Dst: '[com.jcraft.jsch.IO].<init>()'
      Src: com.jcraft.jsch.ChannelSession:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.ChannelSession
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: '[com.jcraft.jsch.ChannelSession].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.Channel].<init>()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.IO].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelSession
    signature: '[com.jcraft.jsch.ChannelSession].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - enable
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[com.jcraft.jsch.ChannelSession].setAgentForwarding(boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSession].setAgentForwarding(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - enable
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.ChannelSession].setXForwarding(boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSession].setXForwarding(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Hashtable<byte[],byte[]>
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - env
    argTypes:
    - java.util.Hashtable<byte[],byte[]>
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: '[com.jcraft.jsch.ChannelSession].setEnv(java.util.Hashtable<byte[],byte[]>)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSession].setEnv(java.util.Hashtable<byte[],byte[]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelSession:94,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelSession:94,1
    - Dst: '[com.jcraft.jsch.ChannelSession].setEnv(byte[],byte[])'
      Src: com.jcraft.jsch.ChannelSession:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[com.jcraft.jsch.ChannelSession].setEnv(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.ChannelSession].setEnv(byte[],byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSession].setEnv(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSession].getEnv()'
      Src: com.jcraft.jsch.ChannelSession:106,1
    - Dst: '[java.util.Hashtable<byte[],byte[]>].put(byte[],byte[])'
      Src: com.jcraft.jsch.ChannelSession:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: '[com.jcraft.jsch.ChannelSession].setEnv(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSession].getEnv()'
    - '[java.util.Hashtable<byte[],byte[]>].put(byte[],byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSession].setEnv(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Hashtable].<init>()'
      Src: com.jcraft.jsch.ChannelSession:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Hashtable<byte[],byte[]>
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: '[com.jcraft.jsch.ChannelSession].getEnv()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 1
    functionsReached:
    - '[java.util.Hashtable].<init>()'
    linkageType: ''
    returnType: java.util.Hashtable<byte[],byte[]>
    signature: '[com.jcraft.jsch.ChannelSession].getEnv()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - enable
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: '[com.jcraft.jsch.ChannelSession].setPty(boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSession].setPty(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - terminal_mode
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: '[com.jcraft.jsch.ChannelSession].setTerminalMode(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSession].setTerminalMode(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSession].setPtyType(String,int,int,int,int)'
      Src: com.jcraft.jsch.ChannelSession:144,1
    - Dst: '[com.jcraft.jsch.ChannelSession].isConnected()'
      Src: com.jcraft.jsch.ChannelSession:145,1
    - Dst: '[com.jcraft.jsch.RequestWindowChange].<init>()'
      Src: com.jcraft.jsch.ChannelSession:149,1
    - Dst: '[com.jcraft.jsch.RequestWindowChange].setSize(int,int,int,int)'
      Src: com.jcraft.jsch.ChannelSession:150,1
    - Dst: '[com.jcraft.jsch.ChannelSession].getSession()'
      Src: com.jcraft.jsch.ChannelSession:151,1
    - Dst: '[com.jcraft.jsch.RequestWindowChange].request(com.jcraft.jsch.ChannelSession)'
      Src: com.jcraft.jsch.ChannelSession:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 4
    argNames:
    - col
    - row
    - wp
    - hp
    argTypes:
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: '[com.jcraft.jsch.ChannelSession].setPtySize(int,int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSession].getSession()'
    - '[com.jcraft.jsch.ChannelSession].isConnected()'
    - '[com.jcraft.jsch.RequestWindowChange].<init>()'
    - '[com.jcraft.jsch.ChannelSession].setPtyType(String,int,int,int,int)'
    - '[com.jcraft.jsch.RequestWindowChange].setSize(int,int,int,int)'
    - '[com.jcraft.jsch.RequestWindowChange].request(com.jcraft.jsch.ChannelSession)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSession].setPtySize(int,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSession].setPtyType(String,int,int,int,int)'
      Src: com.jcraft.jsch.ChannelSession:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - ttype
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: '[com.jcraft.jsch.ChannelSession].setPtyType(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelSession].setPtyType(String,int,int,int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSession].setPtyType(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 5
    argNames:
    - ttype
    - col
    - row
    - wp
    - hp
    argTypes:
    - String
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: '[com.jcraft.jsch.ChannelSession].setPtyType(String,int,int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSession].setPtyType(String,int,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelSession].getSession()'
      Src: com.jcraft.jsch.ChannelSession:185,1
    - Dst: '[com.jcraft.jsch.RequestAgentForwarding].<init>()'
      Src: com.jcraft.jsch.ChannelSession:188,1
    - Dst: '[com.jcraft.jsch.RequestAgentForwarding].request(com.jcraft.jsch.ChannelSession)'
      Src: com.jcraft.jsch.ChannelSession:189,1
    - Dst: '[com.jcraft.jsch.RequestX11].<init>()'
      Src: com.jcraft.jsch.ChannelSession:193,1
    - Dst: '[com.jcraft.jsch.RequestX11].request(com.jcraft.jsch.ChannelSession)'
      Src: com.jcraft.jsch.ChannelSession:194,1
    - Dst: '[com.jcraft.jsch.RequestPtyReq].<init>()'
      Src: com.jcraft.jsch.ChannelSession:198,1
    - Dst: '[com.jcraft.jsch.RequestPtyReq].setTType(String)'
      Src: com.jcraft.jsch.ChannelSession:199,1
    - Dst: '[com.jcraft.jsch.RequestPtyReq].setTSize(int,int,int,int)'
      Src: com.jcraft.jsch.ChannelSession:200,1
    - Dst: '[com.jcraft.jsch.RequestPtyReq].setTerminalMode(byte[])'
      Src: com.jcraft.jsch.ChannelSession:202,1
    - Dst: '[com.jcraft.jsch.RequestPtyReq].request(com.jcraft.jsch.ChannelSession)'
      Src: com.jcraft.jsch.ChannelSession:204,1
    - Dst: '[java.util.Hashtable<byte[],byte[]>].keys()'
      Src: com.jcraft.jsch.ChannelSession:208,1
    - Dst: '[com.jcraft.jsch.ChannelSession].hasMoreElements()'
      Src: com.jcraft.jsch.ChannelSession:208,1
    - Dst: '[com.jcraft.jsch.ChannelSession].nextElement()'
      Src: com.jcraft.jsch.ChannelSession:209,1
    - Dst: '[java.util.Hashtable<byte[],byte[]>].get(com.jcraft.jsch.ChannelSession)'
      Src: com.jcraft.jsch.ChannelSession:210,1
    - Dst: '[com.jcraft.jsch.RequestEnv].<init>()'
      Src: com.jcraft.jsch.ChannelSession:211,1
    - Dst: '[com.jcraft.jsch.ChannelSession].toByteArray(com.jcraft.jsch.ChannelSession)'
      Src: com.jcraft.jsch.ChannelSession:212,1
    - Dst: '[com.jcraft.jsch.ChannelSession].toByteArray(com.jcraft.jsch.ChannelSession)'
      Src: com.jcraft.jsch.ChannelSession:212,1
    - Dst: '[com.jcraft.jsch.RequestEnv].setEnv(byte[],byte[])'
      Src: com.jcraft.jsch.ChannelSession:212,1
    - Dst: '[com.jcraft.jsch.RequestEnv].request(com.jcraft.jsch.ChannelSession)'
      Src: com.jcraft.jsch.ChannelSession:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 216
    functionName: '[com.jcraft.jsch.ChannelSession].sendRequests()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.RequestPtyReq].setTSize(int,int,int,int)'
    - '[com.jcraft.jsch.ChannelSession].getSession()'
    - '[com.jcraft.jsch.RequestPtyReq].request(com.jcraft.jsch.ChannelSession)'
    - '[java.util.Hashtable<byte[],byte[]>].keys()'
    - '[com.jcraft.jsch.RequestPtyReq].setTerminalMode(byte[])'
    - '[java.util.Hashtable<byte[],byte[]>].get(com.jcraft.jsch.ChannelSession)'
    - '[com.jcraft.jsch.RequestEnv].request(com.jcraft.jsch.ChannelSession)'
    - '[com.jcraft.jsch.RequestEnv].setEnv(byte[],byte[])'
    - '[com.jcraft.jsch.RequestX11].request(com.jcraft.jsch.ChannelSession)'
    - '[com.jcraft.jsch.RequestEnv].<init>()'
    - '[com.jcraft.jsch.ChannelSession].hasMoreElements()'
    - '[com.jcraft.jsch.RequestAgentForwarding].<init>()'
    - '[com.jcraft.jsch.ChannelSession].toByteArray(com.jcraft.jsch.ChannelSession)'
    - '[com.jcraft.jsch.RequestPtyReq].<init>()'
    - '[com.jcraft.jsch.RequestX11].<init>()'
    - '[com.jcraft.jsch.RequestPtyReq].setTType(String)'
    - '[com.jcraft.jsch.ChannelSession].nextElement()'
    - '[com.jcraft.jsch.RequestAgentForwarding].request(com.jcraft.jsch.ChannelSession)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSession].sendRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelSession:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: '[com.jcraft.jsch.ChannelSession].toByteArray(Object)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.ChannelSession].toByteArray(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelSession)'
      Src: com.jcraft.jsch.ChannelSession:229,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelSession:230,1
    - Dst: '[com.jcraft.jsch.ChannelSession].getSession()'
      Src: com.jcraft.jsch.ChannelSession:233,1
    - Dst: '[com.jcraft.jsch.ChannelSession].isConnected()'
      Src: com.jcraft.jsch.ChannelSession:234,1
    - Dst: '[com.jcraft.jsch.ChannelSession].getBufferMargin()'
      Src: com.jcraft.jsch.ChannelSession:235,1
    - Dst: io.in.read(byte[],int,com.jcraft.jsch.ChannelSession)
      Src: com.jcraft.jsch.ChannelSession:235,1
    - Dst: '[com.jcraft.jsch.ChannelSession].eof()'
      Src: com.jcraft.jsch.ChannelSession:239,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelSession:245,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelSession:246,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelSession)'
      Src: com.jcraft.jsch.ChannelSession:247,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelSession)'
      Src: com.jcraft.jsch.ChannelSession:248,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.ChannelSession)'
      Src: com.jcraft.jsch.ChannelSession:249,1
    - Dst: '[com.jcraft.jsch.ChannelSession].write(com.jcraft.jsch.Packet,com.jcraft.jsch.ChannelSession)'
      Src: com.jcraft.jsch.ChannelSession:250,1
    - Dst: _thread.notifyAll()
      Src: com.jcraft.jsch.ChannelSession:259,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - boolean
      - java.util.Hashtable<byte[],byte[]>
      - boolean
      - String
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 264
    functionName: '[com.jcraft.jsch.ChannelSession].run()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.ChannelSession].getSession()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.ChannelSession].isConnected()'
    - _thread.notifyAll()
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelSession)'
    - '[com.jcraft.jsch.ChannelSession].write(com.jcraft.jsch.Packet,com.jcraft.jsch.ChannelSession)'
    - '[com.jcraft.jsch.ChannelSession].eof()'
    - '[com.jcraft.jsch.ChannelSession].getBufferMargin()'
    - '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.ChannelSession)'
    - '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelSession)'
    - io.in.read(byte[],int,com.jcraft.jsch.ChannelSession)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelSession].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - keylen
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.XDH].init(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/XDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.XDH].init(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - u
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.XDH].getSecret(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/XDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.XDH].getSecret(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.XDH].getQ()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/XDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.XDH].getQ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - u
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.XDH].validate(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/XDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.XDH].validate(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.XDH
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.XDH].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/XDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.XDH
    signature: '[com.jcraft.jsch.XDH].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.slf4j.LoggerFactory].getLogger()'
      Src: com.jcraft.jsch.Slf4jLogger:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.slf4j.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Slf4jLogger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: '[com.jcraft.jsch.Slf4jLogger].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Slf4jLogger.java
    functionUses: 14
    functionsReached:
    - '[org.slf4j.LoggerFactory].getLogger()'
    linkageType: ''
    returnType: com.jcraft.jsch.Slf4jLogger
    signature: '[com.jcraft.jsch.Slf4jLogger].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.slf4j.Logger].isDebugEnabled()'
      Src: com.jcraft.jsch.Slf4jLogger:17,1
    - Dst: '[org.slf4j.Logger].isInfoEnabled()'
      Src: com.jcraft.jsch.Slf4jLogger:19,1
    - Dst: '[org.slf4j.Logger].isWarnEnabled()'
      Src: com.jcraft.jsch.Slf4jLogger:21,1
    - Dst: '[org.slf4j.Logger].isErrorEnabled()'
      Src: com.jcraft.jsch.Slf4jLogger:24,1
    - Dst: '[org.slf4j.Logger].isTraceEnabled()'
      Src: com.jcraft.jsch.Slf4jLogger:26,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.slf4j.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 28
    functionName: '[com.jcraft.jsch.Slf4jLogger].isEnabled(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Slf4jLogger.java
    functionUses: 1
    functionsReached:
    - '[org.slf4j.Logger].isDebugEnabled()'
    - '[org.slf4j.Logger].isInfoEnabled()'
    - '[org.slf4j.Logger].isWarnEnabled()'
    - '[org.slf4j.Logger].isTraceEnabled()'
    - '[org.slf4j.Logger].isErrorEnabled()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Slf4jLogger].isEnabled(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].log(int,String,null)'
      Src: com.jcraft.jsch.Slf4jLogger:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.slf4j.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - message
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.Slf4jLogger].log(int,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Slf4jLogger.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Slf4jLogger].log(int,String,null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Slf4jLogger].log(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Slf4jLogger].isEnabled(int)'
      Src: com.jcraft.jsch.Slf4jLogger:37,1
    - Dst: '[org.slf4j.Logger].debug(String,Throwable)'
      Src: com.jcraft.jsch.Slf4jLogger:42,1
    - Dst: '[org.slf4j.Logger].info(String,Throwable)'
      Src: com.jcraft.jsch.Slf4jLogger:45,1
    - Dst: '[org.slf4j.Logger].warn(String,Throwable)'
      Src: com.jcraft.jsch.Slf4jLogger:48,1
    - Dst: '[org.slf4j.Logger].error(String,Throwable)'
      Src: com.jcraft.jsch.Slf4jLogger:52,1
    - Dst: '[org.slf4j.Logger].trace(String,Throwable)'
      Src: com.jcraft.jsch.Slf4jLogger:55,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - org.slf4j.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - level
    - message
    - cause
    argTypes:
    - int
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.Slf4jLogger].log(int,String,Throwable)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Slf4jLogger.java
    functionUses: 0
    functionsReached:
    - '[org.slf4j.Logger].warn(String,Throwable)'
    - '[org.slf4j.Logger].trace(String,Throwable)'
    - '[org.slf4j.Logger].info(String,Throwable)'
    - '[org.slf4j.Logger].debug(String,Throwable)'
    - '[org.slf4j.Logger].error(String,Throwable)'
    - '[com.jcraft.jsch.Slf4jLogger].isEnabled(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Slf4jLogger].log(int,String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DH25519MLKEM768
      static: false
      superClass: com.jcraft.jsch.DHXECKEM
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.DH25519MLKEM768].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DH25519MLKEM768.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DH25519MLKEM768
    signature: '[com.jcraft.jsch.DH25519MLKEM768].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Compression].init(int,int)'
      Src: com.jcraft.jsch.Compression:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - com.jcraft.jsch.Session
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - type
    - level
    - session
    argTypes:
    - int
    - int
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.Compression].init(int,int,com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Compression.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Compression].init(int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Compression].init(int,int,com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.Compression].end()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Compression.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Compression].end()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - type
    - level
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '[com.jcraft.jsch.Compression].init(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Compression.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Compression].init(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int[]
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.Compression].compress(byte[],int,int[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Compression.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Compression].compress(byte[],int,int[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int[]
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.Compression].uncompress(byte[],int,int[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Compression.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Compression].uncompress(byte[],int,int[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Compression
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Compression].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Compression.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Compression
    signature: '[com.jcraft.jsch.Compression].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>()'
      Src: com.jcraft.jsch.JSchException:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JSchException
      static: false
      superClass: Exception
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.JSchException].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchException.java
    functionUses: 4
    functionsReached:
    - '[Exception].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchException
    signature: '[com.jcraft.jsch.JSchException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String)'
      Src: com.jcraft.jsch.JSchException:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JSchException
      static: false
      superClass: Exception
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.JSchException].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchException.java
    functionUses: 61
    functionsReached:
    - '[Exception].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchException
    signature: '[com.jcraft.jsch.JSchException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String,Throwable)'
      Src: com.jcraft.jsch.JSchException:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JSchException
      static: false
      superClass: Exception
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[com.jcraft.jsch.JSchException].<init>(String,Throwable)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchException.java
    functionUses: 1
    functionsReached:
    - '[Exception].<init>(String,Throwable)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchException
    signature: '[com.jcraft.jsch.JSchException].<init>(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.JSchProxyException:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JSchProxyException
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.JSchProxyException].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchProxyException.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchProxyException
    signature: '[com.jcraft.jsch.JSchProxyException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,Throwable)'
      Src: com.jcraft.jsch.JSchProxyException:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JSchProxyException
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.JSchProxyException].<init>(String,Throwable)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchProxyException.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(String,Throwable)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchProxyException
    signature: '[com.jcraft.jsch.JSchProxyException].<init>(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - passphrase
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.Identity].setPassphrase(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Identity.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Identity].setPassphrase(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.Identity].getPublicKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Identity.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Identity].getPublicKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '[com.jcraft.jsch.Identity].getSignature(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Identity.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Identity].getSignature(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Identity].getSignature(byte[])'
      Src: com.jcraft.jsch.Identity:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - alg
    argTypes:
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: '[com.jcraft.jsch.Identity].getSignature(byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Identity.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Identity].getSignature(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Identity].getSignature(byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.Identity:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '[com.jcraft.jsch.Identity].decrypt()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Identity.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Identity].decrypt()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '[com.jcraft.jsch.Identity].getAlgName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Identity.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Identity].getAlgName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '[com.jcraft.jsch.Identity].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Identity.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Identity].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: '[com.jcraft.jsch.Identity].isEncrypted()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Identity.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Identity].isEncrypted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: '[com.jcraft.jsch.Identity].clear()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Identity.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Identity].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Identity
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Identity].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Identity.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Identity
    signature: '[com.jcraft.jsch.Identity].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - salt
    - iteration
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.PBKDF2].init(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PBKDF2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.PBKDF2].init(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.PBKDF2
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.PBKDF2].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/PBKDF2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.PBKDF2
    signature: '[com.jcraft.jsch.PBKDF2].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelExec].getSession()'
      Src: com.jcraft.jsch.ChannelExec:39,1
    - Dst: '[com.jcraft.jsch.ChannelExec].sendRequests()'
      Src: com.jcraft.jsch.ChannelExec:41,1
    - Dst: '[com.jcraft.jsch.RequestExec].<init>(byte[])'
      Src: com.jcraft.jsch.ChannelExec:42,1
    - Dst: '[com.jcraft.jsch.RequestExec].request(com.jcraft.jsch.ChannelExec)'
      Src: com.jcraft.jsch.ChannelExec:43,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.ChannelExec)'
      Src: com.jcraft.jsch.ChannelExec:47,1
    - Dst: '[com.jcraft.jsch.ChannelExec].getThreadFactory()'
      Src: com.jcraft.jsch.ChannelExec:51,1
    - Dst: '[com.jcraft.jsch.ChannelExec].newThread()'
      Src: com.jcraft.jsch.ChannelExec:51,1
    - Dst: '[com.jcraft.jsch.ChannelExec].getHost()'
      Src: com.jcraft.jsch.ChannelExec:52,1
    - Dst: '[com.jcraft.jsch.ChannelExec].setName(String)'
      Src: com.jcraft.jsch.ChannelExec:52,1
    - Dst: '[com.jcraft.jsch.ChannelExec].setDaemon(com.jcraft.jsch.ChannelExec)'
      Src: com.jcraft.jsch.ChannelExec:54,1
    - Dst: '[com.jcraft.jsch.ChannelExec].start()'
      Src: com.jcraft.jsch.ChannelExec:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.ChannelExec].start()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelExec.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelExec].start()'
    - '[com.jcraft.jsch.ChannelExec].getSession()'
    - '[com.jcraft.jsch.ChannelExec].sendRequests()'
    - '[com.jcraft.jsch.RequestExec].<init>(byte[])'
    - '[com.jcraft.jsch.ChannelExec].getHost()'
    - '[com.jcraft.jsch.RequestExec].request(com.jcraft.jsch.ChannelExec)'
    - '[com.jcraft.jsch.ChannelExec].setName(String)'
    - '[com.jcraft.jsch.ChannelExec].setDaemon(com.jcraft.jsch.ChannelExec)'
    - '[com.jcraft.jsch.ChannelExec].getThreadFactory()'
    - '[com.jcraft.jsch.ChannelExec].newThread()'
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.ChannelExec)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelExec].start()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelExec:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - command
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[com.jcraft.jsch.ChannelExec].setCommand(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelExec.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelExec].setCommand(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - command
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: '[com.jcraft.jsch.ChannelExec].setCommand(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelExec.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelExec].setCommand(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelExec].getSession()'
      Src: com.jcraft.jsch.ChannelExec:70,1
    - Dst: io.setInputStream(com.jcraft.jsch.ChannelExec)
      Src: com.jcraft.jsch.ChannelExec:70,1
    - Dst: '[com.jcraft.jsch.ChannelExec].getSession()'
      Src: com.jcraft.jsch.ChannelExec:71,1
    - Dst: io.setOutputStream(com.jcraft.jsch.ChannelExec)
      Src: com.jcraft.jsch.ChannelExec:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '[com.jcraft.jsch.ChannelExec].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelExec.java
    functionUses: 0
    functionsReached:
    - io.setInputStream(com.jcraft.jsch.ChannelExec)
    - '[com.jcraft.jsch.ChannelExec].getSession()'
    - io.setOutputStream(com.jcraft.jsch.ChannelExec)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelExec].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelExec].setExtOutputStream(java.io.OutputStream)'
      Src: com.jcraft.jsch.ChannelExec:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 1
    argNames:
    - out
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.ChannelExec].setErrStream(java.io.OutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelExec.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelExec].setExtOutputStream(java.io.OutputStream)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelExec].setErrStream(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelExec].setExtOutputStream(java.io.OutputStream,boolean)'
      Src: com.jcraft.jsch.ChannelExec:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 2
    argNames:
    - out
    - dontclose
    argTypes:
    - java.io.OutputStream
    - boolean
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.ChannelExec].setErrStream(java.io.OutputStream,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelExec.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelExec].setExtOutputStream(java.io.OutputStream,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelExec].setErrStream(java.io.OutputStream,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelExec].getExtInputStream()'
      Src: com.jcraft.jsch.ChannelExec:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: '[com.jcraft.jsch.ChannelExec].getErrStream()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelExec.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelExec].getExtInputStream()'
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[com.jcraft.jsch.ChannelExec].getErrStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ChannelExec
      static: false
      superClass: com.jcraft.jsch.ChannelSession
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ChannelExec].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelExec.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelExec
    signature: '[com.jcraft.jsch.ChannelExec].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.JplLogger:6,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.JplLogger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 7
    functionName: '[com.jcraft.jsch.JplLogger].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JplLogger.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JplLogger
    signature: '[com.jcraft.jsch.JplLogger].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.JplLogger:11,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: '[com.jcraft.jsch.JplLogger].isEnabled(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JplLogger.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.JplLogger].isEnabled(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.JplLogger:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - message
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: '[com.jcraft.jsch.JplLogger].log(int,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JplLogger.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JplLogger].log(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.JplLogger:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - level
    - message
    - cause
    argTypes:
    - int
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: '[com.jcraft.jsch.JplLogger].log(int,String,Throwable)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JplLogger.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.JplLogger].log(int,String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - e
    - n
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.SignatureRSA].setPubKey(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SignatureRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SignatureRSA].setPubKey(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - d
    - n
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.SignatureRSA].setPrvKey(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SignatureRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SignatureRSA].setPrvKey(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SignatureRSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.SignatureRSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SignatureRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.SignatureRSA
    signature: '[com.jcraft.jsch.SignatureRSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.RequestSftp].setReply(boolean)'
      Src: com.jcraft.jsch.RequestSftp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.RequestSftp
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.RequestSftp].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestSftp.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.RequestSftp].setReply(boolean)'
    linkageType: ''
    returnType: com.jcraft.jsch.RequestSftp
    signature: '[com.jcraft.jsch.RequestSftp].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.RequestSftp:36,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.RequestSftp:38,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.RequestSftp:39,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.RequestSftp:40,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestSftp:41,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.RequestSftp:42,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestSftp:42,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestSftp:43,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestSftp:43,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestSftp:44,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestSftp:45,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestSftp:45,1
    - Dst: '[com.jcraft.jsch.RequestSftp].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.RequestSftp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 2
    argNames:
    - session
    - channel
    argTypes:
    - com.jcraft.jsch.Session
    - com.jcraft.jsch.Channel
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: '[com.jcraft.jsch.RequestSftp].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestSftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.RequestSftp].write(com.jcraft.jsch.Packet)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestSftp].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.AgentConnector].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentConnector.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.AgentConnector].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.AgentConnector].isAvailable()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentConnector.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.AgentConnector].isAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.AgentProxyException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentConnector.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.AgentConnector
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.AgentConnector].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentConnector.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.AgentConnector
    signature: '[com.jcraft.jsch.AgentConnector].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: '[com.jcraft.jsch.DHG18].G()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG18.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DHG18].G()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: '[com.jcraft.jsch.DHG18].P()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG18.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DHG18].P()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: '[com.jcraft.jsch.DHG18].sha_name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG18.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.DHG18].sha_name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHG18
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHG18].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG18.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHG18
    signature: '[com.jcraft.jsch.DHG18].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: (new Buffer(blob)).getString()
      Src: com.jcraft.jsch.AgentIdentity:40,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.AgentIdentity)'
      Src: com.jcraft.jsch.AgentIdentity:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.AgentProxy
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      - byte[]
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.AgentIdentity
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - agent
    - blob
    - comment
    argTypes:
    - com.jcraft.jsch.AgentProxy
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.AgentIdentity].<init>(com.jcraft.jsch.AgentProxy,byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentity.java
    functionUses: 0
    functionsReached:
    - (new Buffer(blob)).getString()
    - '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.AgentIdentity)'
    linkageType: ''
    returnType: com.jcraft.jsch.AgentIdentity
    signature: '[com.jcraft.jsch.AgentIdentity].<init>(com.jcraft.jsch.AgentProxy,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      - byte[]
      - String
      - String
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - passphrase
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.AgentIdentity].setPassphrase(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentity.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.AgentIdentity].setPassphrase(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      - byte[]
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[com.jcraft.jsch.AgentIdentity].getPublicKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentity.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.AgentIdentity].getPublicKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AgentProxy].sign(byte[],byte[],null)'
      Src: com.jcraft.jsch.AgentIdentity:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      - byte[]
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.AgentIdentity].getSignature(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentity.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AgentProxy].sign(byte[],byte[],null)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.AgentIdentity].getSignature(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.AgentProxy].sign(byte[],byte[],String)'
      Src: com.jcraft.jsch.AgentIdentity:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      - byte[]
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - alg
    argTypes:
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[com.jcraft.jsch.AgentIdentity].getSignature(byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentity.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.AgentProxy].sign(byte[],byte[],String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.AgentIdentity].getSignature(byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      - byte[]
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[com.jcraft.jsch.AgentIdentity].getAlgName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentity.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.AgentIdentity].getAlgName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      - byte[]
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.AgentIdentity].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentity.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.AgentIdentity].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      - byte[]
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.AgentIdentity].isEncrypted()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentity.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.AgentIdentity].isEncrypted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.AgentProxy
      - byte[]
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Identity
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: '[com.jcraft.jsch.AgentIdentity].clear()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentity.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AgentIdentity].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
      Src: com.jcraft.jsch.KeyPair:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - jsch
    - type
    argTypes:
    - com.jcraft.jsch.JSch
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairDSA].<init>(InstanceLogger)'
      Src: com.jcraft.jsch.KeyPair:81,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].<init>(InstanceLogger)'
      Src: com.jcraft.jsch.KeyPair:83,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].<init>(InstanceLogger)'
      Src: com.jcraft.jsch.KeyPair:85,1
    - Dst: '[com.jcraft.jsch.KeyPairEd25519].<init>(InstanceLogger)'
      Src: com.jcraft.jsch.KeyPair:87,1
    - Dst: '[com.jcraft.jsch.KeyPairEd448].<init>(InstanceLogger)'
      Src: com.jcraft.jsch.KeyPair:89,1
    - Dst: '[com.jcraft.jsch.KeyPairEd448].generate(int)'
      Src: com.jcraft.jsch.KeyPair:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - jsch
    - type
    - key_size
    argTypes:
    - com.jcraft.jsch.JSch
    - int
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 6
    functionsReached:
    - '[com.jcraft.jsch.KeyPairRSA].<init>(InstanceLogger)'
    - '[com.jcraft.jsch.KeyPairEd448].<init>(InstanceLogger)'
    - '[com.jcraft.jsch.KeyPairDSA].<init>(InstanceLogger)'
    - '[com.jcraft.jsch.KeyPairEd448].generate(int)'
    - '[com.jcraft.jsch.KeyPairEd25519].<init>(InstanceLogger)'
    - '[com.jcraft.jsch.KeyPairECDSA].<init>(InstanceLogger)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: false
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '[com.jcraft.jsch.KeyPair].generate(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].generate(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: '[com.jcraft.jsch.KeyPair].getBegin()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPair].getBegin()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '[com.jcraft.jsch.KeyPair].getEnd()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPair].getEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '[com.jcraft.jsch.KeyPair].getKeySize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPair].getKeySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '[com.jcraft.jsch.KeyPair].getSignature(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPair].getSignature(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - alg
    argTypes:
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '[com.jcraft.jsch.KeyPair].getSignature(byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPair].getSignature(byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Signature
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '[com.jcraft.jsch.KeyPair].getVerifier()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Signature
    signature: '[com.jcraft.jsch.KeyPair].getVerifier()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Signature
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - alg
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '[com.jcraft.jsch.KeyPair].getVerifier(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Signature
    signature: '[com.jcraft.jsch.KeyPair].getVerifier(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: false
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: '[com.jcraft.jsch.KeyPair].forSSHAgent()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPair].forSSHAgent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: '[com.jcraft.jsch.KeyPair].getPublicKeyComment()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KeyPair].getPublicKeyComment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - publicKeyComment
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: '[com.jcraft.jsch.KeyPair].setPublicKeyComment(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].setPublicKeyComment(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPair:63,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPair:64,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPair:66,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPair:67,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPair:68,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPair:137,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPair:137,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPair:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - instLogger
    argTypes:
    - JSch.InstanceLogger
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: '[com.jcraft.jsch.KeyPair].<init>(JSch.InstanceLogger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 5
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPair].<init>(JSch.InstanceLogger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: '[com.jcraft.jsch.KeyPair].getPrivateKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPair].getPrivateKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: '[com.jcraft.jsch.KeyPair].getOpenSSHv1PrivateKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPair].getOpenSSHv1PrivateKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].writePrivateKey(java.io.OutputStream,null)'
      Src: com.jcraft.jsch.KeyPair:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - out
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: '[com.jcraft.jsch.KeyPair].writePrivateKey(java.io.OutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].writePrivateKey(java.io.OutputStream,null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writePrivateKey(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getPrivateKey()'
      Src: com.jcraft.jsch.KeyPair:160,1
    - Dst: '[com.jcraft.jsch.KeyPair].encrypt(byte[],com.jcraft.jsch.KeyPair,byte[])'
      Src: com.jcraft.jsch.KeyPair:162,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:164,1
    - Dst: '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.KeyPair,boolean)'
      Src: com.jcraft.jsch.KeyPair:166,1
    - Dst: '[com.jcraft.jsch.KeyPair].getBegin()'
      Src: com.jcraft.jsch.KeyPair:169,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:169,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:170,1
    - Dst: '[java.io.OutputStream].write()'
      Src: com.jcraft.jsch.KeyPair:172,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:173,1
    - Dst: '[java.io.OutputStream].write()'
      Src: com.jcraft.jsch.KeyPair:174,1
    - Dst: '[com.jcraft.jsch.KeyPair].b2a(byte)'
      Src: com.jcraft.jsch.KeyPair:176,1
    - Dst: '[java.io.OutputStream].write(byte)'
      Src: com.jcraft.jsch.KeyPair:176,1
    - Dst: '[com.jcraft.jsch.KeyPair].b2a(byte)'
      Src: com.jcraft.jsch.KeyPair:177,1
    - Dst: '[java.io.OutputStream].write(byte)'
      Src: com.jcraft.jsch.KeyPair:177,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:179,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:180,1
    - Dst: '[java.io.OutputStream].write(byte[],com.jcraft.jsch.KeyPair,int)'
      Src: com.jcraft.jsch.KeyPair:185,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:186,1
    - Dst: '[java.io.OutputStream].write(byte[],com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:190,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:191,1
    - Dst: '[com.jcraft.jsch.KeyPair].getEnd()'
      Src: com.jcraft.jsch.KeyPair:194,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:194,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:195,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:198,1
    - Dst: '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:198,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:199,1
    - Dst: '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:199,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - out
    - passphrase
    argTypes:
    - java.io.OutputStream
    - byte[]
    constantsTouched: []
    func_position:
      end: 202
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 202
    functionName: '[com.jcraft.jsch.KeyPair].writePrivateKey(java.io.OutputStream,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[java.io.OutputStream].write(byte[],com.jcraft.jsch.KeyPair,int)'
    - '[java.io.OutputStream].write(byte)'
    - '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.KeyPair,boolean)'
    - '[com.jcraft.jsch.KeyPair].getEnd()'
    - '[com.jcraft.jsch.KeyPair].getPrivateKey()'
    - '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
    - '[java.io.OutputStream].write(byte[])'
    - '[com.jcraft.jsch.KeyPair].encrypt(byte[],com.jcraft.jsch.KeyPair,byte[])'
    - '[com.jcraft.jsch.KeyPair].b2a(byte)'
    - '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
    - '[com.jcraft.jsch.KeyPair].getBegin()'
    - '[java.io.OutputStream].write()'
    - '[java.io.OutputStream].write(byte[],com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writePrivateKey(java.io.OutputStream,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],null,int)'
      Src: com.jcraft.jsch.KeyPair:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - out
    - passphrase
    argTypes:
    - java.io.OutputStream
    - byte[]
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],null,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],String,int)'
      Src: com.jcraft.jsch.KeyPair:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - byte[]
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - out
    - passphrase
    - cipher
    argTypes:
    - java.io.OutputStream
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],String,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],null,int)'
      Src: com.jcraft.jsch.KeyPair:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - out
    - passphrase
    - rounds
    argTypes:
    - java.io.OutputStream
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],null,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPair:260,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:262,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(int)'
      Src: com.jcraft.jsch.KeyPair:264,1
    - Dst: '[com.jcraft.jsch.KeyPair].genRandom()'
      Src: com.jcraft.jsch.KeyPair:267,1
    - Dst: '[com.jcraft.jsch.KeyPair].getOpenSSHv1PrivateKeyBlob()'
      Src: com.jcraft.jsch.KeyPair:280,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:282,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.Cipher)'
      Src: com.jcraft.jsch.KeyPair:288,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPair:288,1
    - Dst: '[com.jcraft.jsch.KeyPair].asSubclass()'
      Src: com.jcraft.jsch.KeyPair:288,1
    - Dst: '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPair:289,1
    - Dst: '[com.jcraft.jsch.KeyPair].newInstance()'
      Src: com.jcraft.jsch.KeyPair:289,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:293,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.KDF)'
      Src: com.jcraft.jsch.KeyPair:298,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPair:298,1
    - Dst: '[com.jcraft.jsch.KeyPair].asSubclass()'
      Src: com.jcraft.jsch.KeyPair:298,1
    - Dst: '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPair:299,1
    - Dst: '[com.jcraft.jsch.KeyPair].newInstance()'
      Src: com.jcraft.jsch.KeyPair:299,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:303,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KDF)'
      Src: com.jcraft.jsch.KeyPair:306,1
    - Dst: '[com.jcraft.jsch.Random].fill(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:308,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:312,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:313,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.KeyPair:314,1
    - Dst: '[com.jcraft.jsch.KeyPair].initWithOpenSSHv1KDFOptions(byte[])'
      Src: com.jcraft.jsch.KeyPair:315,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.Cipher)'
      Src: com.jcraft.jsch.KeyPair:317,1
    - Dst: '[com.jcraft.jsch.KeyPair].getIVSize()'
      Src: com.jcraft.jsch.KeyPair:318,1
    - Dst: '[com.jcraft.jsch.KeyPair].getTagSize()'
      Src: com.jcraft.jsch.KeyPair:319,1
    - Dst: '[com.jcraft.jsch.KeyPair].getBlockSize()'
      Src: com.jcraft.jsch.KeyPair:320,1
    - Dst: '[com.jcraft.jsch.KeyPair].getIVSize()'
      Src: com.jcraft.jsch.KeyPair:321,1
    - Dst: '[com.jcraft.jsch.KeyPair].isChaCha20()'
      Src: com.jcraft.jsch.KeyPair:322,1
    - Dst: '[com.jcraft.jsch.KeyPair].isAEAD()'
      Src: com.jcraft.jsch.KeyPair:324,1
    - Dst: '[com.jcraft.jsch.KeyPair].getKey(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:328,1
    - Dst: System.arraycopy(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:329,1
    - Dst: System.arraycopy(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:330,1
    - Dst: '[com.jcraft.jsch.KeyPair].init(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:331,1
    - Dst: '[com.jcraft.jsch.Random].fill(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:335,1
    - Dst: '[com.jcraft.jsch.KeyPair].getPublicKeyComment()'
      Src: com.jcraft.jsch.KeyPair:338,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPair:338,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:349,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:350,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:351,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.KeyPair:352,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:353,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.KeyPair:355,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte()'
      Src: com.jcraft.jsch.KeyPair:356,1
    - Dst: '[com.jcraft.jsch.KeyPair].isChaCha20()'
      Src: com.jcraft.jsch.KeyPair:360,1
    - Dst: '[com.jcraft.jsch.KeyPair].update(int)'
      Src: com.jcraft.jsch.KeyPair:361,1
    - Dst: '[com.jcraft.jsch.KeyPair].doFinal(byte[],int,byte[],int)'
      Src: com.jcraft.jsch.KeyPair:362,1
    - Dst: '[com.jcraft.jsch.KeyPair].isAEAD()'
      Src: com.jcraft.jsch.KeyPair:363,1
    - Dst: '[com.jcraft.jsch.KeyPair].doFinal(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.KeyPair:364,1
    - Dst: '[com.jcraft.jsch.KeyPair].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.KeyPair:366,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.KeyPair:373,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.KeyPair:376,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:378,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.KeyPair:379,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPair:380,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPair:381,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPair:382,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:383,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPair:384,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.KeyPair:385,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[],int,int)'
      Src: com.jcraft.jsch.KeyPair:385,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.KeyPair:386,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[],int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:386,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.KeyPair:387,1
    - Dst: '[com.jcraft.jsch.Util].toBase64(byte[],int,int,boolean)'
      Src: com.jcraft.jsch.KeyPair:387,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:389,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:390,1
    - Dst: '[java.io.OutputStream].write(byte[],com.jcraft.jsch.KeyPair,int)'
      Src: com.jcraft.jsch.KeyPair:394,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:395,1
    - Dst: '[java.io.OutputStream].write(byte[],com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:399,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:400,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:403,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:404,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.KeyPair:408,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:408,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:410,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:411,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:412,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:413,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:415,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:418,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:420,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 174
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - byte[]
      - String
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - out
    - passphrase
    - cipher
    - rounds
    argTypes:
    - java.io.OutputStream
    - byte[]
    - String
    - int
    constantsTouched: []
    func_position:
      end: 422
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 422
    functionName: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].doFinal(byte[],int,int,byte[],int)'
    - '[com.jcraft.jsch.KeyPair].getPublicKeyComment()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.KDF)'
    - '[com.jcraft.jsch.Buffer].putByte(byte[],int,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
    - System.arraycopy(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.KeyPair].initWithOpenSSHv1KDFOptions(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KDF)'
    - '[java.io.OutputStream].write(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte()'
    - '[com.jcraft.jsch.KeyPair].doFinal(byte[],int,byte[],int)'
    - '[com.jcraft.jsch.KeyPair].asSubclass()'
    - '[com.jcraft.jsch.KeyPair].init(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Buffer].putString(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - e.toString()
    - '[java.io.OutputStream].write(byte[],com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].update(byte[],int,int,byte[],int)'
    - '[java.io.OutputStream].write(byte[],com.jcraft.jsch.KeyPair,int)'
    - '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
    - '[com.jcraft.jsch.KeyPair].getIVSize()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Util].toBase64(byte[],int,int,boolean)'
    - '[com.jcraft.jsch.Buffer].getLength()'
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.Cipher)'
    - '[com.jcraft.jsch.Random].fill(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].isAEAD()'
    - '[com.jcraft.jsch.KeyPair].getOpenSSHv1PrivateKeyBlob()'
    - '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.Cipher)'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPair].getKey(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].getTagSize()'
    - System.arraycopy(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.KeyPair].isChaCha20()'
    - '[com.jcraft.jsch.KeyPair].update(int)'
    - '[com.jcraft.jsch.KeyPair].genRandom()'
    - '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Buffer].putString(byte[],int,int)'
    - '[com.jcraft.jsch.KeyPair].getBlockSize()'
    - '[com.jcraft.jsch.Buffer].<init>(int)'
    - '[com.jcraft.jsch.Buffer].putByte(byte[])'
    - '[com.jcraft.jsch.KeyPair].newInstance()'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 426
    functionName: '[com.jcraft.jsch.KeyPair].getKeyTypeName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPair].getKeyTypeName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 428
    functionName: '[com.jcraft.jsch.KeyPair].getKeyType()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPair].getKeyType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getKeyTypeName()'
      Src: com.jcraft.jsch.KeyPair:436,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPair:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 6
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.KeyPair].getKeyTypeName()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPair:458,1
    - Dst: '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.KeyPair,boolean)'
      Src: com.jcraft.jsch.KeyPair:459,1
    - Dst: '[com.jcraft.jsch.KeyPair].getKeyTypeName()'
      Src: com.jcraft.jsch.KeyPair:461,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:461,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:462,1
    - Dst: '[java.io.OutputStream].write(byte[],int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:463,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:464,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPair:465,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:465,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:466,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:468,1
    - Dst: '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:468,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:469,1
    - Dst: '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - out
    - comment
    argTypes:
    - java.io.OutputStream
    - String
    constantsTouched: []
    func_position:
      end: 472
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 472
    functionName: '[com.jcraft.jsch.KeyPair].writePublicKey(java.io.OutputStream,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.KeyPair,boolean)'
    - '[com.jcraft.jsch.KeyPair].getKeyTypeName()'
    - '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
    - '[java.io.OutputStream].write(byte[])'
    - '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
    - '[java.io.OutputStream].write(byte[],int,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writePublicKey(java.io.OutputStream,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.FileOutputStream].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:483,1
    - Dst: '[com.jcraft.jsch.KeyPair].writePublicKey(com.jcraft.jsch.KeyPair,String)'
      Src: com.jcraft.jsch.KeyPair:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.FileNotFoundException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - comment
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: '[com.jcraft.jsch.KeyPair].writePublicKey(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].writePublicKey(com.jcraft.jsch.KeyPair,String)'
    - '[java.io.FileOutputStream].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writePublicKey(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPair:496,1
    - Dst: '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.KeyPair,boolean)'
      Src: com.jcraft.jsch.KeyPair:497,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPair:499,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:499,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:500,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPair:501,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:501,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:502,1
    - Dst: '[java.io.OutputStream].write(byte[],com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:508,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:509,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPair:512,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:512,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: com.jcraft.jsch.KeyPair:513,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:515,1
    - Dst: '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:515,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:516,1
    - Dst: '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - out
    - comment
    argTypes:
    - java.io.OutputStream
    - String
    constantsTouched: []
    func_position:
      end: 519
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 519
    functionName: '[com.jcraft.jsch.KeyPair].writeSECSHPublicKey(java.io.OutputStream,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
    - '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.KeyPair,boolean)'
    - '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
    - '[java.io.OutputStream].write(byte[])'
    - '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
    - '[java.io.OutputStream].write(byte[],com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writeSECSHPublicKey(java.io.OutputStream,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.FileOutputStream].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:531,1
    - Dst: '[com.jcraft.jsch.KeyPair].writeSECSHPublicKey(com.jcraft.jsch.KeyPair,String)'
      Src: com.jcraft.jsch.KeyPair:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.FileNotFoundException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - comment
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 534
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 534
    functionName: '[com.jcraft.jsch.KeyPair].writeSECSHPublicKey(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].writeSECSHPublicKey(com.jcraft.jsch.KeyPair,String)'
    - '[java.io.FileOutputStream].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writeSECSHPublicKey(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].writePrivateKey(String,null)'
      Src: com.jcraft.jsch.KeyPair:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.FileNotFoundException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 544
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 544
    functionName: '[com.jcraft.jsch.KeyPair].writePrivateKey(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].writePrivateKey(String,null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writePrivateKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.FileOutputStream].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:555,1
    - Dst: '[com.jcraft.jsch.KeyPair].writePrivateKey(com.jcraft.jsch.KeyPair,byte[])'
      Src: com.jcraft.jsch.KeyPair:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.FileNotFoundException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - passphrase
    argTypes:
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 558
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 558
    functionName: '[com.jcraft.jsch.KeyPair].writePrivateKey(String,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[java.io.FileOutputStream].<init>(String)'
    - '[com.jcraft.jsch.KeyPair].writePrivateKey(com.jcraft.jsch.KeyPair,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writePrivateKey(String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String,null)'
      Src: com.jcraft.jsch.KeyPair:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.FileNotFoundException
      - java.io.IOException
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String,null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.FileOutputStream].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:580,1
    - Dst: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(com.jcraft.jsch.KeyPair,byte[])'
      Src: com.jcraft.jsch.KeyPair:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.FileNotFoundException
      - java.io.IOException
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - passphrase
    argTypes:
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 583
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 583
    functionName: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[java.io.FileOutputStream].<init>(String)'
    - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(com.jcraft.jsch.KeyPair,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.FileOutputStream].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:595,1
    - Dst: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(com.jcraft.jsch.KeyPair,byte[],int)'
      Src: com.jcraft.jsch.KeyPair:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.FileNotFoundException
      - java.io.IOException
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - passphrase
    - rounds
    argTypes:
    - String
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 598
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 598
    functionName: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[java.io.FileOutputStream].<init>(String)'
    - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(com.jcraft.jsch.KeyPair,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.FileOutputStream].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:610,1
    - Dst: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(com.jcraft.jsch.KeyPair,byte[],String)'
      Src: com.jcraft.jsch.KeyPair:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.FileNotFoundException
      - java.io.IOException
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - passphrase
    - cipher
    argTypes:
    - String
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 613
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 613
    functionName: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String,byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(com.jcraft.jsch.KeyPair,byte[],String)'
    - '[java.io.FileOutputStream].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.FileOutputStream].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:626,1
    - Dst: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(com.jcraft.jsch.KeyPair,byte[],String,int)'
      Src: com.jcraft.jsch.KeyPair:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      - String
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.FileNotFoundException
      - java.io.IOException
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - name
    - passphrase
    - cipher
    - rounds
    argTypes:
    - String
    - byte[]
    - String
    - int
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String,byte[],String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(com.jcraft.jsch.KeyPair,byte[],String,int)'
    - '[java.io.FileOutputStream].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String,byte[],String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].genFingerPrintHash()'
      Src: com.jcraft.jsch.KeyPair:637,1
    - Dst: '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPair:640,1
    - Dst: '[com.jcraft.jsch.Util].getFingerPrint(com.jcraft.jsch.HASH,byte[],boolean,boolean)'
      Src: com.jcraft.jsch.KeyPair:643,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 644
    functionName: '[com.jcraft.jsch.KeyPair].getFingerPrint()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].genFingerPrintHash()'
    - '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
    - '[com.jcraft.jsch.Util].getFingerPrint(com.jcraft.jsch.HASH,byte[],boolean,boolean)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.KeyPair].getFingerPrint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].genCipher()'
      Src: com.jcraft.jsch.KeyPair:651,1
    - Dst: '[com.jcraft.jsch.Cipher].getIVSize()'
      Src: com.jcraft.jsch.KeyPair:652,1
    - Dst: '[com.jcraft.jsch.KeyPair].genRandom()'
      Src: com.jcraft.jsch.KeyPair:655,1
    - Dst: '[com.jcraft.jsch.Random].fill(byte[],int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:656,1
    - Dst: '[com.jcraft.jsch.KeyPair].genKey(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPair:658,1
    - Dst: '[com.jcraft.jsch.Cipher].getIVSize()'
      Src: com.jcraft.jsch.KeyPair:664,1
    - Dst: System.arraycopy(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:666,1
    - Dst: '[com.jcraft.jsch.Cipher].init(com.jcraft.jsch.KeyPair,byte[],byte[])'
      Src: com.jcraft.jsch.KeyPair:675,1
    - Dst: '[com.jcraft.jsch.Cipher].update(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,int)'
      Src: com.jcraft.jsch.KeyPair:676,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:678,1
    - Dst: '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:678,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:679,1
    - Dst: '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:679,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:682,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[][]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - plain
    - _iv
    - passphrase
    argTypes:
    - byte[]
    - byte[][]
    - byte[]
    constantsTouched: []
    func_position:
      end: 684
      start: 646
    functionDepth: 3
    functionLinenumber: 646
    functionLinenumberEnd: 684
    functionName: '[com.jcraft.jsch.KeyPair].encrypt(byte[],byte[][],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Random].fill(byte[],int,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].genCipher()'
    - '[com.jcraft.jsch.Cipher].init(com.jcraft.jsch.KeyPair,byte[],byte[])'
    - '[com.jcraft.jsch.KeyPair].genRandom()'
    - '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Cipher].update(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,int)'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - '[com.jcraft.jsch.Cipher].getIVSize()'
    - '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
    - System.arraycopy(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.KeyPair].genKey(byte[],byte[])'
    - '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPair].encrypt(byte[],byte[][],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 686
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 686
    functionName: '[com.jcraft.jsch.KeyPair].parse(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyPair].parse(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].genKey(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPair:691,1
    - Dst: '[com.jcraft.jsch.Cipher].init(com.jcraft.jsch.KeyPair,byte[],byte[])'
      Src: com.jcraft.jsch.KeyPair:692,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:693,1
    - Dst: '[com.jcraft.jsch.Cipher].getTagSize()'
      Src: com.jcraft.jsch.KeyPair:694,1
    - Dst: '[com.jcraft.jsch.Cipher].isChaCha20()'
      Src: com.jcraft.jsch.KeyPair:695,1
    - Dst: '[com.jcraft.jsch.Cipher].update(int)'
      Src: com.jcraft.jsch.KeyPair:696,1
    - Dst: '[com.jcraft.jsch.Cipher].getTagSize()'
      Src: com.jcraft.jsch.KeyPair:697,1
    - Dst: '[com.jcraft.jsch.Cipher].doFinal(byte[],com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,int)'
      Src: com.jcraft.jsch.KeyPair:697,1
    - Dst: '[com.jcraft.jsch.Cipher].isAEAD()'
      Src: com.jcraft.jsch.KeyPair:698,1
    - Dst: '[com.jcraft.jsch.Cipher].doFinal(byte[],int,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,int)'
      Src: com.jcraft.jsch.KeyPair:699,1
    - Dst: '[com.jcraft.jsch.Cipher].update(byte[],int,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,int)'
      Src: com.jcraft.jsch.KeyPair:701,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:705,1
    - Dst: '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:705,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:706,1
    - Dst: '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - data
    - passphrase
    - iv
    argTypes:
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 710
      start: 688
    functionDepth: 3
    functionLinenumber: 688
    functionLinenumberEnd: 710
    functionName: '[com.jcraft.jsch.KeyPair].decrypt(byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Cipher].update(int)'
    - '[com.jcraft.jsch.Cipher].doFinal(byte[],com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,int)'
    - '[com.jcraft.jsch.Cipher].update(byte[],int,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,int)'
    - '[com.jcraft.jsch.Cipher].getTagSize()'
    - '[com.jcraft.jsch.Cipher].init(com.jcraft.jsch.KeyPair,byte[],byte[])'
    - '[com.jcraft.jsch.Cipher].doFinal(byte[],int,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,int)'
    - '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
    - '[com.jcraft.jsch.Cipher].isChaCha20()'
    - '[com.jcraft.jsch.KeyPair].genKey(byte[],byte[])'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - '[com.jcraft.jsch.Cipher].isAEAD()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPair].decrypt(byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].writeLength(byte[],int,int)'
      Src: com.jcraft.jsch.KeyPair:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - index
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: '[com.jcraft.jsch.KeyPair].writeSEQUENCE(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].writeLength(byte[],int,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPair].writeSEQUENCE(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].writeLength(byte[],int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:720,1
    - Dst: System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - index
    - data
    argTypes:
    - byte[]
    - int
    - byte[]
    constantsTouched: []
    func_position:
      end: 724
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 724
    functionName: '[com.jcraft.jsch.KeyPair].writeINTEGER(byte[],int,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.KeyPair].writeLength(byte[],int,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPair].writeINTEGER(byte[],int,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].writeLength(byte[],int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:728,1
    - Dst: System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - index
    - data
    argTypes:
    - byte[]
    - int
    - byte[]
    constantsTouched: []
    func_position:
      end: 732
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 732
    functionName: '[com.jcraft.jsch.KeyPair].writeOCTETSTRING(byte[],int,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.KeyPair].writeLength(byte[],int,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPair].writeOCTETSTRING(byte[],int,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].writeLength(byte[],int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:736,1
    - Dst: System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte
      - int
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - buf
    - n
    - index
    - data
    argTypes:
    - byte[]
    - byte
    - int
    - byte[]
    constantsTouched: []
    func_position:
      end: 740
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 740
    functionName: '[com.jcraft.jsch.KeyPair].writeDATA(byte[],byte,int,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.KeyPair].writeLength(byte[],int,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPair].writeDATA(byte[],byte,int,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 751
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 751
    functionName: '[com.jcraft.jsch.KeyPair].countLength(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPair].countLength(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].countLength(int)'
      Src: com.jcraft.jsch.KeyPair:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - data
    - index
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 767
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 767
    functionName: '[com.jcraft.jsch.KeyPair].writeLength(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].countLength(int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPair].writeLength(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair:773,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPair:773,1
    - Dst: '[com.jcraft.jsch.KeyPair].asSubclass()'
      Src: com.jcraft.jsch.KeyPair:773,1
    - Dst: '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPair:774,1
    - Dst: '[com.jcraft.jsch.KeyPair].newInstance()'
      Src: com.jcraft.jsch.KeyPair:774,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:776,1
    - Dst: '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:776,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:777,1
    - Dst: '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:777,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Random
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 782
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 782
    functionName: '[com.jcraft.jsch.KeyPair].genRandom()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].asSubclass()'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
    - '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPair].newInstance()'
    - '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: com.jcraft.jsch.Random
    signature: '[com.jcraft.jsch.KeyPair].genRandom()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair:786,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPair:786,1
    - Dst: '[com.jcraft.jsch.KeyPair].asSubclass()'
      Src: com.jcraft.jsch.KeyPair:786,1
    - Dst: '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPair:787,1
    - Dst: '[com.jcraft.jsch.KeyPair].newInstance()'
      Src: com.jcraft.jsch.KeyPair:787,1
    - Dst: '[com.jcraft.jsch.KeyPair].init()'
      Src: com.jcraft.jsch.KeyPair:788,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:790,1
    - Dst: '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:790,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:791,1
    - Dst: '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HASH
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 795
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 795
    functionName: '[com.jcraft.jsch.KeyPair].genHash()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].init()'
    - '[com.jcraft.jsch.KeyPair].asSubclass()'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
    - '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPair].newInstance()'
    - '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: com.jcraft.jsch.HASH
    signature: '[com.jcraft.jsch.KeyPair].genHash()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair:800,1
    - Dst: '[String].toLowerCase(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:800,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:801,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPair:801,1
    - Dst: '[com.jcraft.jsch.KeyPair].asSubclass()'
      Src: com.jcraft.jsch.KeyPair:801,1
    - Dst: '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPair:802,1
    - Dst: '[com.jcraft.jsch.KeyPair].newInstance()'
      Src: com.jcraft.jsch.KeyPair:802,1
    - Dst: '[com.jcraft.jsch.KeyPair].init()'
      Src: com.jcraft.jsch.KeyPair:803,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:805,1
    - Dst: '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:805,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:806,1
    - Dst: '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.HASH
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 810
    functionName: '[com.jcraft.jsch.KeyPair].genFingerPrintHash()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].init()'
    - '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].asSubclass()'
    - '[String].toLowerCase(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
    - '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPair].newInstance()'
    - '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: com.jcraft.jsch.HASH
    signature: '[com.jcraft.jsch.KeyPair].genFingerPrintHash()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair:815,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPair:815,1
    - Dst: '[com.jcraft.jsch.KeyPair].asSubclass()'
      Src: com.jcraft.jsch.KeyPair:815,1
    - Dst: '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPair:816,1
    - Dst: '[com.jcraft.jsch.KeyPair].newInstance()'
      Src: com.jcraft.jsch.KeyPair:816,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:818,1
    - Dst: '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:818,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:819,1
    - Dst: '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Cipher
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 823
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 823
    functionName: '[com.jcraft.jsch.KeyPair].genCipher()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].asSubclass()'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
    - '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPair].newInstance()'
    - '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: com.jcraft.jsch.Cipher
    signature: '[com.jcraft.jsch.KeyPair].genCipher()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].genCipher()'
      Src: com.jcraft.jsch.KeyPair:831,1
    - Dst: '[com.jcraft.jsch.KeyPair].genHash()'
      Src: com.jcraft.jsch.KeyPair:833,1
    - Dst: '[com.jcraft.jsch.Cipher].getBlockSize()'
      Src: com.jcraft.jsch.KeyPair:835,1
    - Dst: '[com.jcraft.jsch.HASH].getBlockSize()'
      Src: com.jcraft.jsch.KeyPair:836,1
    - Dst: '[com.jcraft.jsch.HASH].update(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:843,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:845,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int)'
      Src: com.jcraft.jsch.KeyPair:846,1
    - Dst: '[com.jcraft.jsch.HASH].digest()'
      Src: com.jcraft.jsch.KeyPair:847,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:848,1
    - Dst: System.arraycopy(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:851,1
    - Dst: '[com.jcraft.jsch.KDF].getKey(byte[],com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:853,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:854,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPair,byte[],int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:855,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:856,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:860,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:862,1
    - Dst: '[com.jcraft.jsch.HASH].digest()'
      Src: com.jcraft.jsch.KeyPair:863,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:864,1
    - Dst: System.arraycopy(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:867,1
    - Dst: '[com.jcraft.jsch.HASH].update(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:871,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:872,1
    - Dst: '[com.jcraft.jsch.HASH].digest()'
      Src: com.jcraft.jsch.KeyPair:873,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:874,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:875,1
    - Dst: '[com.jcraft.jsch.HASH].update(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:878,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:879,1
    - Dst: '[com.jcraft.jsch.HASH].digest()'
      Src: com.jcraft.jsch.KeyPair:880,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:881,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:882,1
    - Dst: '[com.jcraft.jsch.KDF].getKey(byte[],int)'
      Src: com.jcraft.jsch.KeyPair:884,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:885,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPair,byte[],int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:886,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:887,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:890,1
    - Dst: '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:890,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:891,1
    - Dst: '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:891,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 77
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - passphrase
    - iv
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 895
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 895
    functionName: '[com.jcraft.jsch.KeyPair].genKey(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.HASH].update(byte[],int)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.KeyPair].genCipher()'
    - '[com.jcraft.jsch.HASH].update(byte[],int,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KDF].getKey(byte[],com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.HASH].getBlockSize()'
    - System.arraycopy(byte[],com.jcraft.jsch.KeyPair,byte[],int,com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.HASH].update(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Cipher].getBlockSize()'
    - '[com.jcraft.jsch.KeyPair].genHash()'
    - System.arraycopy(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
    - '[com.jcraft.jsch.KDF].getKey(byte[],int)'
    - '[com.jcraft.jsch.HASH].digest()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPair].genKey(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - passphrase
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 903
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 903
    functionName: '[com.jcraft.jsch.KeyPair].setPassphrase(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].setPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - passphrase
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 911
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 911
    functionName: '[com.jcraft.jsch.KeyPair].setPassphrase(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].setPassphrase(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 920
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 920
    functionName: '[com.jcraft.jsch.KeyPair].isEncrypted()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyPair].isEncrypted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.KeyPair:923,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPair:926,1
    - Dst: '[com.jcraft.jsch.KeyPair].decrypt(byte[])'
      Src: com.jcraft.jsch.KeyPair:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - _passphrase
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 927
      start: 922
    functionDepth: 2
    functionLinenumber: 922
    functionLinenumberEnd: 927
    functionName: '[com.jcraft.jsch.KeyPair].decrypt(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[String].length()'
    - '[com.jcraft.jsch.KeyPair].decrypt(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyPair].decrypt(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:938,1
    - Dst: '[com.jcraft.jsch.KeyPair].decrypt(byte[],com.jcraft.jsch.KeyPair,byte[])'
      Src: com.jcraft.jsch.KeyPair:942,1
    - Dst: '[com.jcraft.jsch.KeyPair].parse(byte[])'
      Src: com.jcraft.jsch.KeyPair:943,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:945,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:948,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:949,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - _passphrase
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 952
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 952
    functionName: '[com.jcraft.jsch.KeyPair].decrypt(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].decrypt(byte[],com.jcraft.jsch.KeyPair,byte[])'
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.KeyPair].parse(byte[])'
    - '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyPair].decrypt(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.File].<init>(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:956,1
    - Dst: '[java.io.File].exists()'
      Src: com.jcraft.jsch.KeyPair:956,1
    - Dst: '[com.jcraft.jsch.KeyPair].load(InstanceLogger,String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - jsch
    - prvkey
    argTypes:
    - com.jcraft.jsch.JSch
    - String
    constantsTouched: []
    func_position:
      end: 960
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 960
    functionName: '[com.jcraft.jsch.KeyPair].load(com.jcraft.jsch.JSch,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].exists()'
    - '[java.io.File].<init>(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].load(InstanceLogger,String,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPair].load(com.jcraft.jsch.JSch,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].load(InstanceLogger,String,String)'
      Src: com.jcraft.jsch.KeyPair:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - jsch
    - prvfile
    - pubfile
    argTypes:
    - com.jcraft.jsch.JSch
    - String
    - String
    constantsTouched: []
    func_position:
      end: 964
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 964
    functionName: '[com.jcraft.jsch.KeyPair].load(com.jcraft.jsch.JSch,String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].load(InstanceLogger,String,String)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPair].load(com.jcraft.jsch.JSch,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].fromFile(String)'
      Src: com.jcraft.jsch.KeyPair:973,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.KeyPair:975,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:975,1
    - Dst: '[com.jcraft.jsch.Util].fromFile(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:984,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.KeyPair:987,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:987,1
    - Dst: '[com.jcraft.jsch.KeyPair].load(JSch.InstanceLogger,byte[],byte[])'
      Src: com.jcraft.jsch.KeyPair:992,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:994,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - instLogger
    - prvfile
    - pubfile
    argTypes:
    - JSch.InstanceLogger
    - String
    - String
    constantsTouched: []
    func_position:
      end: 996
      start: 966
    functionDepth: 5
    functionLinenumber: 966
    functionLinenumberEnd: 996
    functionName: '[com.jcraft.jsch.KeyPair].load(JSch.InstanceLogger,String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].load(JSch.InstanceLogger,byte[],byte[])'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
    - e.toString()
    - '[com.jcraft.jsch.Util].fromFile(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Util].fromFile(String)'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPair].load(JSch.InstanceLogger,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].load(InstanceLogger,byte[],byte[])'
      Src: com.jcraft.jsch.KeyPair:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - jsch
    - prvkey
    - pubkey
    argTypes:
    - com.jcraft.jsch.JSch
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 1000
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1000
    functionName: '[com.jcraft.jsch.KeyPair].load(com.jcraft.jsch.JSch,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].load(InstanceLogger,byte[],byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPair].load(com.jcraft.jsch.JSch,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPair:1022,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1023,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPair:1024,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPair:1024,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.KeyPair:1025,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyPair:1028,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.KeyPair:1029,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyPair:1030,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.KeyPair:1031,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyPair:1032,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyPair:1032,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyPair:1033,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.KeyPair:1034,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyPair:1035,1
    - Dst: '[com.jcraft.jsch.KeyPairEd25519].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.KeyPair:1036,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyPair:1037,1
    - Dst: '[com.jcraft.jsch.KeyPairEd448].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.KeyPair:1038,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1040,1
    - Dst: '[com.jcraft.jsch.KeyPair].loadPPK(JSch.InstanceLogger,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1049,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1071,1
    - Dst: '[com.jcraft.jsch.KeyPair].isOpenSSHPrivateKey(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1093,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1097,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair:1106,1
    - Dst: '[com.jcraft.jsch.Session].checkCipher(String)'
      Src: com.jcraft.jsch.KeyPair:1106,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair:1108,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPair:1108,1
    - Dst: '[com.jcraft.jsch.KeyPair].asSubclass()'
      Src: com.jcraft.jsch.KeyPair:1108,1
    - Dst: '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPair:1109,1
    - Dst: '[com.jcraft.jsch.KeyPair].newInstance()'
      Src: com.jcraft.jsch.KeyPair:1109,1
    - Dst: '[com.jcraft.jsch.KeyPair].getIVSize()'
      Src: com.jcraft.jsch.KeyPair:1111,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1113,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair:1121,1
    - Dst: '[com.jcraft.jsch.Session].checkCipher(String)'
      Src: com.jcraft.jsch.KeyPair:1121,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair:1123,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPair:1123,1
    - Dst: '[com.jcraft.jsch.KeyPair].asSubclass()'
      Src: com.jcraft.jsch.KeyPair:1123,1
    - Dst: '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPair:1124,1
    - Dst: '[com.jcraft.jsch.KeyPair].newInstance()'
      Src: com.jcraft.jsch.KeyPair:1124,1
    - Dst: '[com.jcraft.jsch.KeyPair].getIVSize()'
      Src: com.jcraft.jsch.KeyPair:1126,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1128,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair:1136,1
    - Dst: '[com.jcraft.jsch.Session].checkCipher(String)'
      Src: com.jcraft.jsch.KeyPair:1136,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair:1138,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPair:1138,1
    - Dst: '[com.jcraft.jsch.KeyPair].asSubclass()'
      Src: com.jcraft.jsch.KeyPair:1138,1
    - Dst: '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPair:1139,1
    - Dst: '[com.jcraft.jsch.KeyPair].newInstance()'
      Src: com.jcraft.jsch.KeyPair:1139,1
    - Dst: '[com.jcraft.jsch.KeyPair].getIVSize()'
      Src: com.jcraft.jsch.KeyPair:1141,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1143,1
    - Dst: '[com.jcraft.jsch.KeyPair].a2b()'
      Src: com.jcraft.jsch.KeyPair:1151,1
    - Dst: '[com.jcraft.jsch.KeyPair].a2b()'
      Src: com.jcraft.jsch.KeyPair:1151,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1191,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1203,1
    - Dst: System.arraycopy(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:1208,1
    - Dst: System.arraycopy(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:1219,1
    - Dst: '[com.jcraft.jsch.Util].fromBase64(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1234,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1236,1
    - Dst: '[com.jcraft.jsch.KeyPair].loadOpenSSHKeyv1(JSch.InstanceLogger,byte[])'
      Src: com.jcraft.jsch.KeyPair:1240,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPair:1245,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPair:1246,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPair:1247,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPair:1248,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPair:1249,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPair:1249,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyPair:1250,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPair:1251,1
    - Dst: '[com.jcraft.jsch.Buffer].getOffSet()'
      Src: com.jcraft.jsch.KeyPair:1252,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1253,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1256,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyPair:1258,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPair:1259,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPair:1260,1
    - Dst: '[com.jcraft.jsch.Buffer].getOffSet()'
      Src: com.jcraft.jsch.KeyPair:1264,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1265,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1268,1
    - Dst: System.arraycopy(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,int)
      Src: com.jcraft.jsch.KeyPair:1314,1
    - Dst: '[com.jcraft.jsch.Util].fromBase64(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1324,1
    - Dst: '[com.jcraft.jsch.Util].fromBase64(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1360,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1372,1
    - Dst: '[com.jcraft.jsch.Util].fromBase64(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1393,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1405,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:1411,1
    - Dst: '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1411,1
    - Dst: '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
      Src: com.jcraft.jsch.KeyPair:1412,1
    - Dst: '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1412,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].<init>(JSch.InstanceLogger)'
      Src: com.jcraft.jsch.KeyPair:1419,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].<init>(JSch.InstanceLogger)'
      Src: com.jcraft.jsch.KeyPair:1421,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,byte[])'
      Src: com.jcraft.jsch.KeyPair:1423,1
    - Dst: '[com.jcraft.jsch.KeyPairEd25519].<init>(JSch.InstanceLogger,byte[],null)'
      Src: com.jcraft.jsch.KeyPair:1425,1
    - Dst: '[com.jcraft.jsch.KeyPairEd448].<init>(JSch.InstanceLogger,byte[],null)'
      Src: com.jcraft.jsch.KeyPair:1427,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].<init>(JSch.InstanceLogger)'
      Src: com.jcraft.jsch.KeyPair:1429,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].parse(byte[])'
      Src: com.jcraft.jsch.KeyPair:1444,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1447,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:1454,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.KeyPair:1457,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1457,1
    CyclomaticComplexity: 247
    EdgeCount: 247
    ICount: 615
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - instLogger
    - prvkey
    - pubkey
    argTypes:
    - JSch.InstanceLogger
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 1459
      start: 1002
    functionDepth: 4
    functionLinenumber: 1002
    functionLinenumberEnd: 1459
    functionName: '[com.jcraft.jsch.KeyPair].load(JSch.InstanceLogger,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.KeyPairEd25519].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.KeyPairPKCS8].parse(byte[])'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
    - System.arraycopy(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].isEnabled(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
    - '[com.jcraft.jsch.Buffer].getOffSet()'
    - '[com.jcraft.jsch.KeyPairDSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.KeyPair].log(com.jcraft.jsch.KeyPair,String,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPairECDSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].asSubclass()'
    - '[com.jcraft.jsch.KeyPairRSA].<init>(JSch.InstanceLogger)'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - e.toString()
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.KeyPairDSA].<init>(JSch.InstanceLogger)'
    - '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,byte[])'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.KeyPair].getIVSize()'
    - '[com.jcraft.jsch.KeyPair].a2b()'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - System.arraycopy(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].loadOpenSSHKeyv1(JSch.InstanceLogger,byte[])'
    - '[com.jcraft.jsch.KeyPair].isOpenSSHPrivateKey(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Buffer].rewind()'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPairEd25519].<init>(JSch.InstanceLogger,byte[],null)'
    - '[com.jcraft.jsch.KeyPairPKCS8].<init>(JSch.InstanceLogger)'
    - '[com.jcraft.jsch.Session].checkCipher(String)'
    - '[com.jcraft.jsch.KeyPair].newInstance()'
    - System.arraycopy(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,int)
    - '[com.jcraft.jsch.KeyPairEd448].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.KeyPairRSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Util].fromBase64(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPairEd448].<init>(JSch.InstanceLogger,byte[],null)'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - '[com.jcraft.jsch.KeyPair].loadPPK(JSch.InstanceLogger,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPair].load(JSch.InstanceLogger,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1464,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPair:1467,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1469,1
    - Dst: '[com.jcraft.jsch.Util].arraysequals(byte[],com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1470,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1471,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPair:1474,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPair:1474,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPair:1475,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPair:1475,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPair:1476,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPair:1478,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1480,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPair:1483,1
    - Dst: '[com.jcraft.jsch.KeyPair].parsePubkeyBlob(JSch.InstanceLogger,byte[],null)'
      Src: com.jcraft.jsch.KeyPair:1484,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyPair:1485,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPair:1492,1
    - Dst: '[com.jcraft.jsch.KeyPair].parse(byte[])'
      Src: com.jcraft.jsch.KeyPair:1493,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1494,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:1496,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair:1501,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPair:1501,1
    - Dst: '[com.jcraft.jsch.KeyPair].asSubclass()'
      Src: com.jcraft.jsch.KeyPair:1501,1
    - Dst: '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPair:1502,1
    - Dst: '[com.jcraft.jsch.KeyPair].newInstance()'
      Src: com.jcraft.jsch.KeyPair:1502,1
    - Dst: '[com.jcraft.jsch.Cipher].getIVSize()'
      Src: com.jcraft.jsch.KeyPair:1503,1
    - Dst: '[com.jcraft.jsch.Cipher].isChaCha20()'
      Src: com.jcraft.jsch.KeyPair:1504,1
    - Dst: '[com.jcraft.jsch.Cipher].isAEAD()'
      Src: com.jcraft.jsch.KeyPair:1506,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPair:1512,1
    - Dst: '[com.jcraft.jsch.Cipher].getTagSize()'
      Src: com.jcraft.jsch.KeyPair:1513,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:1514,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1515,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1520,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair:1524,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPair:1524,1
    - Dst: '[com.jcraft.jsch.KeyPair].asSubclass()'
      Src: com.jcraft.jsch.KeyPair:1524,1
    - Dst: '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPair:1525,1
    - Dst: '[com.jcraft.jsch.KeyPair].newInstance()'
      Src: com.jcraft.jsch.KeyPair:1525,1
    - Dst: '[com.jcraft.jsch.KDF].initWithOpenSSHv1KDFOptions(byte[])'
      Src: com.jcraft.jsch.KeyPair:1526,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1530,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:1536,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - instLogger
    - data
    argTypes:
    - JSch.InstanceLogger
    - byte[]
    constantsTouched: []
    func_position:
      end: 1539
      start: 1461
    functionDepth: 4
    functionLinenumber: 1461
    functionLinenumberEnd: 1539
    functionName: '[com.jcraft.jsch.KeyPair].loadOpenSSHKeyv1(JSch.InstanceLogger,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Cipher].getTagSize()'
    - '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Cipher].isChaCha20()'
    - '[com.jcraft.jsch.Util].arraysequals(byte[],com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].asSubclass()'
    - '[com.jcraft.jsch.KeyPair].parse(byte[])'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[com.jcraft.jsch.Cipher].getIVSize()'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KDF].initWithOpenSSHv1KDFOptions(byte[])'
    - Class.forName(String)
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].parsePubkeyBlob(JSch.InstanceLogger,byte[],null)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.KeyPair].newInstance()'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - '[com.jcraft.jsch.Cipher].isAEAD()'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPair].loadOpenSSHKeyv1(JSch.InstanceLogger,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ident.length()
      Src: com.jcraft.jsch.KeyPair:1543,1
    - Dst: ident.length()
      Src: com.jcraft.jsch.KeyPair:1544,1
    - Dst: '[java.util.Arrays].copyOfRange(byte[],int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1544,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1544,1
    - Dst: ident.equals(String)
      Src: com.jcraft.jsch.KeyPair:1544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - i
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1545
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1545
    functionName: '[com.jcraft.jsch.KeyPair].isOpenSSHPrivateKey(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - ident.length()
    - ident.equals(String)
    - '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KeyPair)'
    - '[java.util.Arrays].copyOfRange(byte[],int,com.jcraft.jsch.KeyPair)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyPair].isOpenSSHPrivateKey(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 1551
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1551
    functionName: '[com.jcraft.jsch.KeyPair].a2b(byte)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: '[com.jcraft.jsch.KeyPair].a2b(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 1557
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1557
    functionName: '[com.jcraft.jsch.KeyPair].b2a(byte)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: '[com.jcraft.jsch.KeyPair].b2a(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1559
    functionName: '[com.jcraft.jsch.KeyPair].dispose()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].dispose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].dispose()'
      Src: com.jcraft.jsch.KeyPair:1564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1565
    functionName: '[com.jcraft.jsch.KeyPair].finalize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].dispose()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].finalize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.asn1.ASN1].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPair:1576,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
      Src: com.jcraft.jsch.KeyPair:1577,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1578,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getContents()'
      Src: com.jcraft.jsch.KeyPair:1582,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1584,1
    - Dst: algorithm.isSEQUENCE()
      Src: com.jcraft.jsch.KeyPair:1588,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1589,1
    - Dst: algorithm.getContents()
      Src: com.jcraft.jsch.KeyPair:1593,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1595,1
    - Dst: algorithmObject.isOBJECT()
      Src: com.jcraft.jsch.KeyPair:1600,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1601,1
    - Dst: algorithmObject.getContent()
      Src: com.jcraft.jsch.KeyPair:1605,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPair,byte[])'
      Src: com.jcraft.jsch.KeyPair:1605,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1606,1
    - Dst: subjectPublicKey.isBITSTRING()
      Src: com.jcraft.jsch.KeyPair:1611,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1612,1
    - Dst: subjectPublicKey.getContent()
      Src: com.jcraft.jsch.KeyPair:1616,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1618,1
    - Dst: '[java.util.Arrays].copyOfRange(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1622,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1624,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - x509SubjectPublicKeyInfo
    - algorithmIdentifier
    - keyLen
    argTypes:
    - byte[]
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 1626
      start: 1567
    functionDepth: 2
    functionLinenumber: 1567
    functionLinenumberEnd: 1626
    functionName: '[com.jcraft.jsch.KeyPair].extractX509SubjectPublicKeyInfo(byte[],byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - subjectPublicKey.isBITSTRING()
    - algorithm.isSEQUENCE()
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPair,byte[])'
    - '[com.jcraft.jsch.asn1.ASN1].<init>(byte[])'
    - algorithmObject.isOBJECT()
    - algorithm.getContents()
    - algorithmObject.getContent()
    - '[java.util.Arrays].copyOfRange(com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - subjectPublicKey.getContent()
    - '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
    - '[com.jcraft.jsch.asn1.ASN1].getContents()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPair].extractX509SubjectPublicKeyInfo(byte[],byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPair:1634,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: com.jcraft.jsch.KeyPair:1635,1
    - Dst: '[com.jcraft.jsch.KeyPair].parseHeader(com.jcraft.jsch.Buffer,java.util.HashMap)'
      Src: com.jcraft.jsch.KeyPair:1638,1
    - Dst: '[java.util.HashMap].get(String)'
      Src: com.jcraft.jsch.KeyPair:1643,1
    - Dst: '[java.util.HashMap].get(String)'
      Src: com.jcraft.jsch.KeyPair:1645,1
    - Dst: '[java.util.HashMap].get(String)'
      Src: com.jcraft.jsch.KeyPair:1656,1
    - Dst: Integer.parseInt(com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:1656,1
    - Dst: '[com.jcraft.jsch.KeyPair].parseLines(com.jcraft.jsch.Buffer,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1657,1
    - Dst: '[com.jcraft.jsch.KeyPair].parseHeader(com.jcraft.jsch.Buffer,java.util.HashMap)'
      Src: com.jcraft.jsch.KeyPair:1660,1
    - Dst: '[java.util.HashMap].get(String)'
      Src: com.jcraft.jsch.KeyPair:1664,1
    - Dst: Integer.parseInt(com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:1664,1
    - Dst: '[com.jcraft.jsch.KeyPair].parseLines(com.jcraft.jsch.Buffer,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1665,1
    - Dst: '[com.jcraft.jsch.KeyPair].parseHeader(com.jcraft.jsch.Buffer,java.util.HashMap)'
      Src: com.jcraft.jsch.KeyPair:1668,1
    - Dst: '[com.jcraft.jsch.Util].fromBase64(byte[],int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1672,1
    - Dst: '[com.jcraft.jsch.Util].fromBase64(byte[],int,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1673,1
    - Dst: '[com.jcraft.jsch.KeyPair].parsePubkeyBlob(JSch.InstanceLogger,byte[],com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1675,1
    - Dst: '[java.util.HashMap].get(String)'
      Src: com.jcraft.jsch.KeyPair:1676,1
    - Dst: '[com.jcraft.jsch.KeyPair].equals(String)'
      Src: com.jcraft.jsch.KeyPair:1676,1
    - Dst: '[java.util.HashMap].get(String)'
      Src: com.jcraft.jsch.KeyPair:1679,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair:1683,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPair:1683,1
    - Dst: '[com.jcraft.jsch.KeyPair].asSubclass()'
      Src: com.jcraft.jsch.KeyPair:1683,1
    - Dst: '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPair:1684,1
    - Dst: '[com.jcraft.jsch.KeyPair].newInstance()'
      Src: com.jcraft.jsch.KeyPair:1684,1
    - Dst: '[com.jcraft.jsch.Cipher].getIVSize()'
      Src: com.jcraft.jsch.KeyPair:1685,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1689,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPair:1694,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPair:1694,1
    - Dst: '[com.jcraft.jsch.KeyPair].asSubclass()'
      Src: com.jcraft.jsch.KeyPair:1694,1
    - Dst: '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPair:1695,1
    - Dst: '[com.jcraft.jsch.KeyPair].newInstance()'
      Src: com.jcraft.jsch.KeyPair:1695,1
    - Dst: '[com.jcraft.jsch.KeyPair].init()'
      Src: com.jcraft.jsch.KeyPair:1696,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1701,1
    - Dst: '[java.util.HashMap].get(String)'
      Src: com.jcraft.jsch.KeyPair:1704,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1706,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPair:1706,1
    - Dst: '[com.jcraft.jsch.KeyPair].asSubclass()'
      Src: com.jcraft.jsch.KeyPair:1706,1
    - Dst: '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPair:1707,1
    - Dst: '[com.jcraft.jsch.KeyPair].newInstance()'
      Src: com.jcraft.jsch.KeyPair:1707,1
    - Dst: '[com.jcraft.jsch.KDF].initWithPPKv3Header(java.util.HashMap)'
      Src: com.jcraft.jsch.KeyPair:1708,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1712,1
    - Dst: '[com.jcraft.jsch.KeyPair].parse(byte[])'
      Src: com.jcraft.jsch.KeyPair:1719,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1720,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:1722,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:1727,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:1730,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 82
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - instLogger
    - buf
    argTypes:
    - JSch.InstanceLogger
    - byte[]
    constantsTouched: []
    func_position:
      end: 1732
      start: 1628
    functionDepth: 1
    functionLinenumber: 1628
    functionLinenumberEnd: 1732
    functionName: '[com.jcraft.jsch.KeyPair].loadPPK(JSch.InstanceLogger,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].equals(String)'
    - '[com.jcraft.jsch.KeyPair].parsePubkeyBlob(JSch.InstanceLogger,byte[],com.jcraft.jsch.KeyPair)'
    - '[java.util.HashMap].get(String)'
    - '[com.jcraft.jsch.KeyPair].getDeclaredConstructor()'
    - '[com.jcraft.jsch.KeyPair].parseHeader(com.jcraft.jsch.Buffer,java.util.HashMap)'
    - '[java.util.HashMap].<init>()'
    - '[com.jcraft.jsch.KeyPair].parseLines(com.jcraft.jsch.Buffer,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].asSubclass()'
    - '[com.jcraft.jsch.KeyPair].parse(byte[])'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[com.jcraft.jsch.Cipher].getIVSize()'
    - '[com.jcraft.jsch.Util].fromBase64(byte[],int,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPair].init()'
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - Class.forName(String)
    - '[com.jcraft.jsch.KDF].initWithPPKv3Header(java.util.HashMap)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - Integer.parseInt(com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.KeyPair].newInstance()'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPair].loadPPK(JSch.InstanceLogger,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPair:1736,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1737,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPair:1739,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPair:1739,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.KeyPair:1740,1
    - Dst: typ.equals(String)
      Src: com.jcraft.jsch.KeyPair:1742,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1743,1
    - Dst: typ.equals(String)
      Src: com.jcraft.jsch.KeyPair:1747,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPair:1748,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1749,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPair:1750,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1751,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].<init>(JSch.InstanceLogger,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,null)'
      Src: com.jcraft.jsch.KeyPair:1753,1
    - Dst: typ.equals(String)
      Src: com.jcraft.jsch.KeyPair:1754,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPair:1755,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1756,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPair:1757,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1758,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPair:1759,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1760,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPair:1761,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1762,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].<init>(JSch.InstanceLogger,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,null)'
      Src: com.jcraft.jsch.KeyPair:1764,1
    - Dst: typ.equals(String)
      Src: com.jcraft.jsch.KeyPair:1765,1
    - Dst: typ.equals(String)
      Src: com.jcraft.jsch.KeyPair:1765,1
    - Dst: typ.equals(String)
      Src: com.jcraft.jsch.KeyPair:1766,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPair:1767,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPair:1769,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.KeyPair:1770,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1774,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1775,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,byte[],com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,null)'
      Src: com.jcraft.jsch.KeyPair:1777,1
    - Dst: typ.equals(String)
      Src: com.jcraft.jsch.KeyPair:1778,1
    - Dst: typ.equals(String)
      Src: com.jcraft.jsch.KeyPair:1778,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPair:1779,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1780,1
    - Dst: typ.equals(String)
      Src: com.jcraft.jsch.KeyPair:1782,1
    - Dst: '[com.jcraft.jsch.KeyPairEd25519].<init>(JSch.InstanceLogger,com.jcraft.jsch.KeyPair,null)'
      Src: com.jcraft.jsch.KeyPair:1783,1
    - Dst: '[com.jcraft.jsch.KeyPairEd448].<init>(JSch.InstanceLogger,com.jcraft.jsch.KeyPair,null)'
      Src: com.jcraft.jsch.KeyPair:1785,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPair:1788,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - byte[]
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - instLogger
    - pubkeyblob
    - typ
    argTypes:
    - JSch.InstanceLogger
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 1790
      start: 1734
    functionDepth: 4
    functionLinenumber: 1734
    functionLinenumberEnd: 1790
    functionName: '[com.jcraft.jsch.KeyPair].parsePubkeyBlob(JSch.InstanceLogger,byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.KeyPairEd25519].<init>(JSch.InstanceLogger,com.jcraft.jsch.KeyPair,null)'
    - '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.KeyPairEd448].<init>(JSch.InstanceLogger,com.jcraft.jsch.KeyPair,null)'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPair)'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,byte[],com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,null)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.KeyPairRSA].<init>(JSch.InstanceLogger,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,null)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - typ.equals(String)
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.KeyPairDSA].<init>(JSch.InstanceLogger,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,null)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPair].parsePubkeyBlob(JSch.InstanceLogger,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,byte[],int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:1805,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:1808,1
    - Dst: System.arraycopy(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)
      Src: com.jcraft.jsch.KeyPair:1809,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPair:1810,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - lines
    argTypes:
    - com.jcraft.jsch.Buffer
    - int
    constantsTouched: []
    func_position:
      end: 1825
      start: 1792
    functionDepth: 1
    functionLinenumber: 1792
    functionLinenumberEnd: 1825
    functionName: '[com.jcraft.jsch.KeyPair].parseLines(com.jcraft.jsch.Buffer,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,byte[],int,com.jcraft.jsch.KeyPair)
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyPair,int,com.jcraft.jsch.KeyPair)
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - System.arraycopy(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPair].parseLines(com.jcraft.jsch.Buffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1840,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
      Src: com.jcraft.jsch.KeyPair:1855,1
    - Dst: '[java.util.Map<String,String>].put(String,String)'
      Src: com.jcraft.jsch.KeyPair:1866,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      - java.util.Map<String,String>
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - v
    argTypes:
    - com.jcraft.jsch.Buffer
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 1871
      start: 1827
    functionDepth: 1
    functionLinenumber: 1827
    functionLinenumberEnd: 1871
    functionName: '[com.jcraft.jsch.KeyPair].parseHeader(com.jcraft.jsch.Buffer,java.util.Map<String,String>)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair,com.jcraft.jsch.KeyPair)'
    - '[java.util.Map<String,String>].put(String,String)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyPair].parseHeader(com.jcraft.jsch.Buffer,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.KeyPair
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - String
      - String
      - int
      - int
      - String
      - JSch.InstanceLogger
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.KDF
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.HASH
      - com.jcraft.jsch.Random
      - byte[][]
      - byte[]
      - boolean
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kpair
    argTypes:
    - com.jcraft.jsch.KeyPair
    constantsTouched: []
    func_position:
      end: 1878
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1878
    functionName: '[com.jcraft.jsch.KeyPair].copy(com.jcraft.jsch.KeyPair)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPair].copy(com.jcraft.jsch.KeyPair)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.DHG14N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.DHG14].sha_name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG14.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.DHG14].sha_name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHG14
      static: false
      superClass: com.jcraft.jsch.DHG14N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHG14].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG14.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHG14
    signature: '[com.jcraft.jsch.DHG14].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.KeyPairGenECDSA].init(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenECDSA.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairGenECDSA].init(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.KeyPairGenECDSA].getD()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenECDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenECDSA].getD()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.KeyPairGenECDSA].getR()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenECDSA.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenECDSA].getR()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.KeyPairGenECDSA].getS()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenECDSA.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenECDSA].getS()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyPairGenECDSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KeyPairGenECDSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenECDSA.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairGenECDSA
    signature: '[com.jcraft.jsch.KeyPairGenECDSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.DHG14N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.DHG14224].sha_name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG14224.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.DHG14224].sha_name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHG14224
      static: false
      superClass: com.jcraft.jsch.DHG14N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHG14224].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG14224.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHG14224
    signature: '[com.jcraft.jsch.DHG14224].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.logging.log4j.LogManager].getLogger()'
      Src: com.jcraft.jsch.Log4j2Logger:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.apache.logging.log4j.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Log4j2Logger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: '[com.jcraft.jsch.Log4j2Logger].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Log4j2Logger.java
    functionUses: 2
    functionsReached:
    - '[org.apache.logging.log4j.LogManager].getLogger()'
    linkageType: ''
    returnType: com.jcraft.jsch.Log4j2Logger
    signature: '[com.jcraft.jsch.Log4j2Logger].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Log4j2Logger].getLevel(int)'
      Src: com.jcraft.jsch.Log4j2Logger:15,1
    - Dst: '[org.apache.logging.log4j.Logger].isEnabled(org.apache.logging.log4j.Level)'
      Src: com.jcraft.jsch.Log4j2Logger:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.apache.logging.log4j.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: '[com.jcraft.jsch.Log4j2Logger].isEnabled(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Log4j2Logger.java
    functionUses: 0
    functionsReached:
    - '[org.apache.logging.log4j.Logger].isEnabled(org.apache.logging.log4j.Level)'
    - '[com.jcraft.jsch.Log4j2Logger].getLevel(int)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Log4j2Logger].isEnabled(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Log4j2Logger].getLevel(int)'
      Src: com.jcraft.jsch.Log4j2Logger:20,1
    - Dst: '[org.apache.logging.log4j.Logger].log(org.apache.logging.log4j.Level,String)'
      Src: com.jcraft.jsch.Log4j2Logger:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.apache.logging.log4j.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - message
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: '[com.jcraft.jsch.Log4j2Logger].log(int,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Log4j2Logger.java
    functionUses: 0
    functionsReached:
    - '[org.apache.logging.log4j.Logger].log(org.apache.logging.log4j.Level,String)'
    - '[com.jcraft.jsch.Log4j2Logger].getLevel(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Log4j2Logger].log(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Log4j2Logger].getLevel(int)'
      Src: com.jcraft.jsch.Log4j2Logger:26,1
    - Dst: '[org.apache.logging.log4j.Logger].log(org.apache.logging.log4j.Level,String)'
      Src: com.jcraft.jsch.Log4j2Logger:26,1
    - Dst: '[com.jcraft.jsch.Log4j2Logger].getLevel(int)'
      Src: com.jcraft.jsch.Log4j2Logger:29,1
    - Dst: '[org.apache.logging.log4j.Logger].log(org.apache.logging.log4j.Level,String,Throwable)'
      Src: com.jcraft.jsch.Log4j2Logger:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - org.apache.logging.log4j.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - level
    - message
    - cause
    argTypes:
    - int
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.Log4j2Logger].log(int,String,Throwable)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Log4j2Logger.java
    functionUses: 0
    functionsReached:
    - '[org.apache.logging.log4j.Logger].log(org.apache.logging.log4j.Level,String)'
    - '[org.apache.logging.log4j.Logger].log(org.apache.logging.log4j.Level,String,Throwable)'
    - '[com.jcraft.jsch.Log4j2Logger].getLevel(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Log4j2Logger].log(int,String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.apache.logging.log4j.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.apache.logging.log4j.Level
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: '[com.jcraft.jsch.Log4j2Logger].getLevel(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Log4j2Logger.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: org.apache.logging.log4j.Level
    signature: '[com.jcraft.jsch.Log4j2Logger].getLevel(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char)'
      Src: com.jcraft.jsch.ProxySOCKS4:53,1
    - Dst: '[String].indexOf(char)'
      Src: com.jcraft.jsch.ProxySOCKS4:55,1
    - Dst: '[String].substring(int,com.jcraft.jsch.ProxySOCKS4)'
      Src: com.jcraft.jsch.ProxySOCKS4:55,1
    - Dst: '[String].indexOf(char)'
      Src: com.jcraft.jsch.ProxySOCKS4:56,1
    - Dst: '[String].substring(int)'
      Src: com.jcraft.jsch.ProxySOCKS4:56,1
    - Dst: Integer.parseInt(com.jcraft.jsch.ProxySOCKS4)
      Src: com.jcraft.jsch.ProxySOCKS4:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ProxySOCKS4
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - proxy_host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '[com.jcraft.jsch.ProxySOCKS4].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS4.java
    functionUses: 0
    functionsReached:
    - '[String].substring(int,com.jcraft.jsch.ProxySOCKS4)'
    - '[String].substring(int)'
    - Integer.parseInt(com.jcraft.jsch.ProxySOCKS4)
    - '[String].indexOf(char)'
    linkageType: ''
    returnType: com.jcraft.jsch.ProxySOCKS4
    signature: '[com.jcraft.jsch.ProxySOCKS4].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ProxySOCKS4
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - proxy_host
    - proxy_port
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[com.jcraft.jsch.ProxySOCKS4].<init>(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS4.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ProxySOCKS4
    signature: '[com.jcraft.jsch.ProxySOCKS4].<init>(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - user
    - passwd
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[com.jcraft.jsch.ProxySOCKS4].setUserPasswd(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS4.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ProxySOCKS4].setUserPasswd(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].createSocket(String,int,int)'
      Src: com.jcraft.jsch.ProxySOCKS4:79,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: com.jcraft.jsch.ProxySOCKS4:81,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: com.jcraft.jsch.ProxySOCKS4:82,1
    - Dst: '[com.jcraft.jsch.SocketFactory].createSocket(String,int)'
      Src: com.jcraft.jsch.ProxySOCKS4:84,1
    - Dst: '[com.jcraft.jsch.SocketFactory].getInputStream(java.net.Socket)'
      Src: com.jcraft.jsch.ProxySOCKS4:85,1
    - Dst: '[com.jcraft.jsch.SocketFactory].getOutputStream(java.net.Socket)'
      Src: com.jcraft.jsch.ProxySOCKS4:86,1
    - Dst: '[java.net.Socket].setSoTimeout(int)'
      Src: com.jcraft.jsch.ProxySOCKS4:89,1
    - Dst: '[java.net.Socket].setTcpNoDelay(boolean)'
      Src: com.jcraft.jsch.ProxySOCKS4:91,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: com.jcraft.jsch.ProxySOCKS4:120,1
    - Dst: '[com.jcraft.jsch.ProxySOCKS4].getAddress()'
      Src: com.jcraft.jsch.ProxySOCKS4:121,1
    - Dst: uhe.toString()
      Src: com.jcraft.jsch.ProxySOCKS4:126,1
    - Dst: '[com.jcraft.jsch.JSchProxyException].<init>(String,com.jcraft.jsch.ProxySOCKS4)'
      Src: com.jcraft.jsch.ProxySOCKS4:126,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ProxySOCKS4:130,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.ProxySOCKS4:130,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.ProxySOCKS4,com.jcraft.jsch.ProxySOCKS4,com.jcraft.jsch.ProxySOCKS4)
      Src: com.jcraft.jsch.ProxySOCKS4:130,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.ProxySOCKS4:131,1
    - Dst: '[java.io.OutputStream].write(com.jcraft.jsch.ProxySOCKS4,int,com.jcraft.jsch.ProxySOCKS4)'
      Src: com.jcraft.jsch.ProxySOCKS4:134,1
    - Dst: '[java.io.InputStream].read(com.jcraft.jsch.ProxySOCKS4,com.jcraft.jsch.ProxySOCKS4,com.jcraft.jsch.ProxySOCKS4)'
      Src: com.jcraft.jsch.ProxySOCKS4:160,1
    - Dst: '[com.jcraft.jsch.JSchProxyException].<init>(String)'
      Src: com.jcraft.jsch.ProxySOCKS4:162,1
    - Dst: '[com.jcraft.jsch.JSchProxyException].<init>(String)'
      Src: com.jcraft.jsch.ProxySOCKS4:167,1
    - Dst: '[java.net.Socket].close()'
      Src: com.jcraft.jsch.ProxySOCKS4:171,1
    - Dst: '[com.jcraft.jsch.JSchProxyException].<init>(com.jcraft.jsch.ProxySOCKS4)'
      Src: com.jcraft.jsch.ProxySOCKS4:175,1
    - Dst: '[java.net.Socket].close()'
      Src: com.jcraft.jsch.ProxySOCKS4:182,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.ProxySOCKS4:185,1
    - Dst: '[com.jcraft.jsch.JSchProxyException].<init>(String,com.jcraft.jsch.ProxySOCKS4)'
      Src: com.jcraft.jsch.ProxySOCKS4:185,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.SocketFactory
      - String
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - socket_factory
    - host
    - port
    - timeout
    argTypes:
    - com.jcraft.jsch.SocketFactory
    - String
    - int
    - int
    constantsTouched: []
    func_position:
      end: 187
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 187
    functionName: '[com.jcraft.jsch.ProxySOCKS4].connect(com.jcraft.jsch.SocketFactory,String,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS4.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].createSocket(String,int,int)'
    - '[String].length()'
    - '[java.io.InputStream].read(com.jcraft.jsch.ProxySOCKS4,com.jcraft.jsch.ProxySOCKS4,com.jcraft.jsch.ProxySOCKS4)'
    - '[java.net.Socket].close()'
    - '[com.jcraft.jsch.JSchProxyException].<init>(String)'
    - '[java.net.Socket].setTcpNoDelay(boolean)'
    - '[com.jcraft.jsch.SocketFactory].getInputStream(java.net.Socket)'
    - '[com.jcraft.jsch.SocketFactory].createSocket(String,int)'
    - '[java.net.InetAddress].getByName(String)'
    - '[com.jcraft.jsch.ProxySOCKS4].getAddress()'
    - e.toString()
    - '[java.net.Socket].getOutputStream()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[java.net.Socket].setSoTimeout(int)'
    - '[com.jcraft.jsch.JSchProxyException].<init>(com.jcraft.jsch.ProxySOCKS4)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.ProxySOCKS4,com.jcraft.jsch.ProxySOCKS4,com.jcraft.jsch.ProxySOCKS4)
    - '[java.io.OutputStream].write(com.jcraft.jsch.ProxySOCKS4,int,com.jcraft.jsch.ProxySOCKS4)'
    - uhe.toString()
    - '[com.jcraft.jsch.JSchProxyException].<init>(String,com.jcraft.jsch.ProxySOCKS4)'
    - '[java.net.Socket].getInputStream()'
    - '[com.jcraft.jsch.SocketFactory].getOutputStream(java.net.Socket)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ProxySOCKS4].connect(com.jcraft.jsch.SocketFactory,String,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: '[com.jcraft.jsch.ProxySOCKS4].getInputStream()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS4.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[com.jcraft.jsch.ProxySOCKS4].getInputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.OutputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '[com.jcraft.jsch.ProxySOCKS4].getOutputStream()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS4.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.OutputStream
    signature: '[com.jcraft.jsch.ProxySOCKS4].getOutputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.Socket
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: '[com.jcraft.jsch.ProxySOCKS4].getSocket()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS4.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.Socket
    signature: '[com.jcraft.jsch.ProxySOCKS4].getSocket()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].close()'
      Src: com.jcraft.jsch.ProxySOCKS4:208,1
    - Dst: '[java.io.OutputStream].close()'
      Src: com.jcraft.jsch.ProxySOCKS4:210,1
    - Dst: '[java.net.Socket].close()'
      Src: com.jcraft.jsch.ProxySOCKS4:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 218
    functionName: '[com.jcraft.jsch.ProxySOCKS4].close()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS4.java
    functionUses: 0
    functionsReached:
    - '[java.io.InputStream].close()'
    - '[java.io.OutputStream].close()'
    - '[java.net.Socket].close()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ProxySOCKS4].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - java.io.InputStream
      - java.io.OutputStream
      - java.net.Socket
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Proxy
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: '[com.jcraft.jsch.ProxySOCKS4].getDefaultPort()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS4.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.ProxySOCKS4].getDefaultPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.DHG15N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.DHG15].sha_name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG15.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.DHG15].sha_name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHG15
      static: false
      superClass: com.jcraft.jsch.DHG15N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHG15].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG15.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHG15
    signature: '[com.jcraft.jsch.DHG15].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.RequestExec
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 1
    argNames:
    - command
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.RequestExec].<init>(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestExec.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.RequestExec
    signature: '[com.jcraft.jsch.RequestExec].<init>(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.RequestExec:38,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.RequestExec:40,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.RequestExec:41,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.RequestExec:49,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestExec:50,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.RequestExec:51,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestExec:51,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestExec:52,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestExec:52,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestExec:53,1
    - Dst: '[com.jcraft.jsch.Buffer].checkFreeSize(int)'
      Src: com.jcraft.jsch.RequestExec:54,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestExec:55,1
    - Dst: '[com.jcraft.jsch.RequestExec].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.RequestExec:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 2
    argNames:
    - session
    - channel
    argTypes:
    - com.jcraft.jsch.Session
    - com.jcraft.jsch.Channel
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: '[com.jcraft.jsch.RequestExec].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestExec.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.RequestExec].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Buffer].checkFreeSize(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestExec].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:35,1
    - Dst: '[com.jcraft.jsch.Channel].<init>()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:48,1
    - Dst: '[com.jcraft.jsch.IO].<init>()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<Config>
      - int
      - int
      - int
      - java.net.Socket
      - com.jcraft.jsch.ForwardedTCPIPDaemon
      - Config
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.ChannelForwardedTCPIP
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Channel].<init>()'
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.IO].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelForwardedTCPIP
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Class.forName(com.jcraft.jsch.ChannelForwardedTCPIP)
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:62,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].asSubclass()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:62,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getDeclaredConstructor()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:63,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].newInstance()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:63,1
    - Dst: '[java.io.PipedOutputStream].<init>()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:65,1
    - Dst: '[PassiveInputStream].<init>(java.io.PipedOutputStream,int,int)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:66,1
    - Dst: io.setInputStream(PassiveInputStream,boolean)
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:66,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getInputStream()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:68,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].setChannel(com.jcraft.jsch.ChannelForwardedTCPIP,java.io.PipedOutputStream)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:68,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].setArg(com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:69,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getSession()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:70,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getThreadFactory()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:70,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].newThread(com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:70,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].start()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:70,1
    - Dst: '[com.jcraft.jsch.Util].createSocket(com.jcraft.jsch.ChannelForwardedTCPIP,com.jcraft.jsch.ChannelForwardedTCPIP,int)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:74,1
    - Dst: _config.factory.createSocket(com.jcraft.jsch.ChannelForwardedTCPIP,com.jcraft.jsch.ChannelForwardedTCPIP)
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:75,1
    - Dst: '[java.net.Socket].setTcpNoDelay(boolean)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:76,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:77,1
    - Dst: io.setInputStream(com.jcraft.jsch.ChannelForwardedTCPIP)
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:77,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:78,1
    - Dst: io.setOutputStream(com.jcraft.jsch.ChannelForwardedTCPIP)
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:78,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].sendOpenConfirmation()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:80,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].sendOpenFailure(com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:82,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].disconnect()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:84,1
    - Dst: Thread.currentThread()
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:88,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:89,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:90,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getSession()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:93,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getBufferMargin()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:95,1
    - Dst: io.in.read(byte[],int,com.jcraft.jsch.ChannelForwardedTCPIP)
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:95,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].eof()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:97,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:100,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:101,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:102,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:103,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:104,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].write(com.jcraft.jsch.Packet,com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:108,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].disconnect()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<Config>
      - int
      - int
      - int
      - java.net.Socket
      - com.jcraft.jsch.ForwardedTCPIPDaemon
      - Config
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 117
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP].run()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[java.io.PipedOutputStream].<init>()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].write(com.jcraft.jsch.Packet,com.jcraft.jsch.ChannelForwardedTCPIP)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].sendOpenFailure(com.jcraft.jsch.ChannelForwardedTCPIP)'
    - io.setInputStream(PassiveInputStream,boolean)
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getThreadFactory()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].disconnect()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].newInstance()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].eof()'
    - '[java.net.Socket].setTcpNoDelay(boolean)'
    - io.setOutputStream(com.jcraft.jsch.ChannelForwardedTCPIP)
    - '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.ChannelForwardedTCPIP)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].sendOpenConfirmation()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getInputStream()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getDeclaredConstructor()'
    - Thread.currentThread()
    - '[java.net.Socket].getOutputStream()'
    - io.setInputStream(com.jcraft.jsch.ChannelForwardedTCPIP)
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getBufferMargin()'
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.ChannelForwardedTCPIP)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].asSubclass()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getSession()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].setArg(com.jcraft.jsch.ChannelForwardedTCPIP)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].setChannel(com.jcraft.jsch.ChannelForwardedTCPIP,java.io.PipedOutputStream)'
    - _config.factory.createSocket(com.jcraft.jsch.ChannelForwardedTCPIP,com.jcraft.jsch.ChannelForwardedTCPIP)
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].newThread(com.jcraft.jsch.ChannelForwardedTCPIP)'
    - '[com.jcraft.jsch.Util].createSocket(com.jcraft.jsch.ChannelForwardedTCPIP,com.jcraft.jsch.ChannelForwardedTCPIP,int)'
    - '[java.net.Socket].getInputStream()'
    - '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.ChannelForwardedTCPIP)'
    - io.in.read(byte[],int,com.jcraft.jsch.ChannelForwardedTCPIP)
    - Class.forName(com.jcraft.jsch.ChannelForwardedTCPIP)
    - '[PassiveInputStream].<init>(java.io.PipedOutputStream,int,int)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].start()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:121,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].setRecipient(int)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:121,1
    - Dst: '[com.jcraft.jsch.Buffer].getUInt()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:122,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].setRemoteWindowSize(long)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:122,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:123,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].setRemotePacketSize(int)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:123,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:124,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:125,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:126,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:127,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getSession()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:137,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:142,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.ChannelForwardedTCPIP,String,int)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:142,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.ChannelForwardedTCPIP,null,int)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:144,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getLogger()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:147,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].isEnabled(com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:147,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getLogger()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:148,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].log(com.jcraft.jsch.ChannelForwardedTCPIP,String)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<Config>
      - int
      - int
      - int
      - java.net.Socket
      - com.jcraft.jsch.ForwardedTCPIPDaemon
      - Config
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 152
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 152
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP].getData(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].setRecipient(int)'
    - '[com.jcraft.jsch.Buffer].getUInt()'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getLogger()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.ChannelForwardedTCPIP,String,int)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getSession()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.ChannelForwardedTCPIP,null,int)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].setRemoteWindowSize(long)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].isEnabled(com.jcraft.jsch.ChannelForwardedTCPIP)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].log(com.jcraft.jsch.ChannelForwardedTCPIP,String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].setRemotePacketSize(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP].getData(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector<Config>].size()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:156,1
    - Dst: '[java.util.Vector<Config>].elementAt(com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:157,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].equals(String)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:164,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<Config>
      - int
      - int
      - int
      - java.net.Socket
      - com.jcraft.jsch.ForwardedTCPIPDaemon
      - Config
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Config
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 3
    argNames:
    - session
    - address_to_bind
    - rport
    argTypes:
    - com.jcraft.jsch.Session
    - String
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.Session,String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 3
    functionsReached:
    - '[java.util.Vector<Config>].elementAt(com.jcraft.jsch.ChannelForwardedTCPIP)'
    - '[java.util.Vector<Config>].size()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].equals(String)'
    linkageType: ''
    returnType: Config
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.Session,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:173,1
    - Dst: '[java.util.Vector<Config>].size()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:175,1
    - Dst: '[java.util.Vector<Config>].elementAt(com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:176,1
    - Dst: '[java.util.Vector].addElement(String)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:179,1
    - Dst: '[java.util.Vector].addElement(com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:181,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:186,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:187,1
    - Dst: '[java.util.Vector].elementAt(com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<Config>
      - int
      - int
      - int
      - java.net.Socket
      - com.jcraft.jsch.ForwardedTCPIPDaemon
      - Config
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 191
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 191
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP].getPortForwarding(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[java.util.Vector].addElement(com.jcraft.jsch.ChannelForwardedTCPIP)'
    - '[java.util.Vector].size()'
    - '[java.util.Vector].elementAt(com.jcraft.jsch.ChannelForwardedTCPIP)'
    - '[java.util.Vector<Config>].elementAt(com.jcraft.jsch.ChannelForwardedTCPIP)'
    - '[java.util.Vector<Config>].size()'
    - '[java.util.Vector].addElement(String)'
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP].getPortForwarding(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:196,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<Config>
      - int
      - int
      - int
      - java.net.Socket
      - com.jcraft.jsch.ForwardedTCPIPDaemon
      - Config
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - address
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP].normalize(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 4
    functionsReached:
    - '[String].equals(String)'
    - '[String].length()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP].normalize(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].normalize(String)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:205,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.Session,String,int)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:207,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:208,1
    - Dst: '[ConfigLHost].<init>()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:210,1
    - Dst: '[java.util.Vector<Config>].addElement(ConfigLHost)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - String
      - int
      - int
      - String
      - int
      - com.jcraft.jsch.SocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<Config>
      - int
      - int
      - int
      - java.net.Socket
      - com.jcraft.jsch.ForwardedTCPIPDaemon
      - Config
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 7
    argNames:
    - session
    - _address_to_bind
    - port
    - allocated_port
    - target
    - lport
    - factory
    argTypes:
    - com.jcraft.jsch.Session
    - String
    - int
    - int
    - String
    - int
    - com.jcraft.jsch.SocketFactory
    constantsTouched: []
    func_position:
      end: 220
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 220
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP].addPort(com.jcraft.jsch.Session,String,int,int,String,int,com.jcraft.jsch.SocketFactory)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].normalize(String)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[ConfigLHost].<init>()'
    - '[java.util.Vector<Config>].addElement(ConfigLHost)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.Session,String,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP].addPort(com.jcraft.jsch.Session,String,int,int,String,int,com.jcraft.jsch.SocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].normalize(String)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:224,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.Session,String,int)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:226,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:227,1
    - Dst: '[ConfigDaemon].<init>()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:229,1
    - Dst: '[java.util.Vector<Config>].addElement(ConfigDaemon)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - String
      - int
      - int
      - String
      - Object[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<Config>
      - int
      - int
      - int
      - java.net.Socket
      - com.jcraft.jsch.ForwardedTCPIPDaemon
      - Config
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 6
    argNames:
    - session
    - _address_to_bind
    - port
    - allocated_port
    - daemon
    - arg
    argTypes:
    - com.jcraft.jsch.Session
    - String
    - int
    - int
    - String
    - Object[]
    constantsTouched: []
    func_position:
      end: 238
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 238
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP].addPort(com.jcraft.jsch.Session,String,int,int,String,Object[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 0
    functionsReached:
    - '[ConfigDaemon].<init>()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].normalize(String)'
    - '[java.util.Vector<Config>].addElement(ConfigDaemon)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.Session,String,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP].addPort(com.jcraft.jsch.Session,String,int,int,String,Object[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getSession()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:243,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.ChannelForwardedTCPIP,com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.ChannelForwardedTCPIP
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<Config>
      - int
      - int
      - int
      - java.net.Socket
      - com.jcraft.jsch.ForwardedTCPIPDaemon
      - Config
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - c
    argTypes:
    - com.jcraft.jsch.ChannelForwardedTCPIP
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.ChannelForwardedTCPIP)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.ChannelForwardedTCPIP,com.jcraft.jsch.ChannelForwardedTCPIP)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getSession()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.ChannelForwardedTCPIP)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.Session,null,int)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<Config>
      - int
      - int
      - int
      - java.net.Socket
      - com.jcraft.jsch.ForwardedTCPIPDaemon
      - Config
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 2
    argNames:
    - session
    - rport
    argTypes:
    - com.jcraft.jsch.Session
    - int
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.Session,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.Session,null,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.Session,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].normalize(String)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:257,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.Session,String,int)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:257,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.Session,null,int)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:259,1
    - Dst: '[java.util.Vector<Config>].removeElement(Config)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:262,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(int)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:271,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:272,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:280,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:281,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:282,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:282,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:283,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:284,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:284,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:285,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<Config>
      - int
      - int
      - int
      - java.net.Socket
      - com.jcraft.jsch.ForwardedTCPIPDaemon
      - Config
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 3
    argNames:
    - session
    - address_to_bind
    - rport
    argTypes:
    - com.jcraft.jsch.Session
    - String
    - int
    constantsTouched: []
    func_position:
      end: 290
      start: 255
    functionDepth: 5
    functionLinenumber: 255
    functionLinenumberEnd: 290
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.Session,String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[java.util.Vector<Config>].removeElement(Config)'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.Session,null,int)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].normalize(String)'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.ChannelForwardedTCPIP)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Buffer].<init>(int)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.Session,String,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.Session,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector<Config>].size()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:296,1
    - Dst: '[java.util.Vector<Config>].size()'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:297,1
    - Dst: '[java.util.Vector<Config>].elementAt(com.jcraft.jsch.ChannelForwardedTCPIP)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:298,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.ChannelForwardedTCPIP:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<Config>
      - int
      - int
      - int
      - java.net.Socket
      - com.jcraft.jsch.ForwardedTCPIPDaemon
      - Config
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - session
    argTypes:
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 307
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 307
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.Session)'
    - '[java.util.Vector<Config>].elementAt(com.jcraft.jsch.ChannelForwardedTCPIP)'
    - '[java.util.Vector<Config>].size()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<Config>
      - int
      - int
      - int
      - java.net.Socket
      - com.jcraft.jsch.ForwardedTCPIPDaemon
      - Config
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP].getRemotePort()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP].getRemotePort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.SocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Vector<Config>
      - int
      - int
      - int
      - java.net.Socket
      - com.jcraft.jsch.ForwardedTCPIPDaemon
      - Config
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Channel
    argCount: 1
    argNames:
    - factory
    argTypes:
    - com.jcraft.jsch.SocketFactory
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP].setSocketFactory(com.jcraft.jsch.SocketFactory)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP].setSocketFactory(com.jcraft.jsch.SocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Session
      - int
      - int
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ChannelForwardedTCPIP.Config
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP.Config].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelForwardedTCPIP.Config
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP.Config].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ChannelForwardedTCPIP.ConfigDaemon
      static: false
      superClass: Config
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP.ConfigDaemon].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelForwardedTCPIP.ConfigDaemon
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP.ConfigDaemon].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - SocketFactory
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.ChannelForwardedTCPIP.ConfigLHost
      static: false
      superClass: Config
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.ChannelForwardedTCPIP.ConfigLHost].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.ChannelForwardedTCPIP.ConfigLHost
    signature: '[com.jcraft.jsch.ChannelForwardedTCPIP.ConfigLHost].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.DHG16N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.DHG16].sha_name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG16.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.DHG16].sha_name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHG16
      static: false
      superClass: com.jcraft.jsch.DHG16N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHG16].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG16.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHG16
    signature: '[com.jcraft.jsch.DHG16].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - salt
    - iteration
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.BCrypt].init(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/BCrypt.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.BCrypt].init(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.BCrypt
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.BCrypt].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/BCrypt.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.BCrypt
    signature: '[com.jcraft.jsch.BCrypt].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].<init>(JSch.InstanceLogger)'
      Src: com.jcraft.jsch.KeyPairPKCS8:109,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:115,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPairPKCS8
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - instLogger
    argTypes:
    - JSch.InstanceLogger
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].<init>(JSch.InstanceLogger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.KeyPair].<init>(JSch.InstanceLogger)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairPKCS8
    signature: '[com.jcraft.jsch.KeyPairPKCS8].<init>(JSch.InstanceLogger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].generate(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairPKCS8].generate(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].getBegin()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairPKCS8].getBegin()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].getEnd()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairPKCS8].getEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].getPrivateKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairPKCS8].getPrivateKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getOpenSSHv1PrivateKeyBlob()'
      Src: com.jcraft.jsch.KeyPairPKCS8:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].getOpenSSHv1PrivateKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getOpenSSHv1PrivateKeyBlob()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairPKCS8].getOpenSSHv1PrivateKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.asn1.ASN1].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:159,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
      Src: com.jcraft.jsch.KeyPairPKCS8:160,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:161,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getContents()'
      Src: com.jcraft.jsch.KeyPairPKCS8:164,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:166,1
    - Dst: contents[0].isINTEGER()
      Src: com.jcraft.jsch.KeyPairPKCS8:168,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:169,1
    - Dst: contents[1].isSEQUENCE()
      Src: com.jcraft.jsch.KeyPairPKCS8:171,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:172,1
    - Dst: contents[2].isOCTETSTRING()
      Src: com.jcraft.jsch.KeyPairPKCS8:174,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:175,1
    - Dst: contents[3].isCONTEXTCONSTRUCTED(int)
      Src: com.jcraft.jsch.KeyPairPKCS8:178,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:179,1
    - Dst: contents[0].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:182,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].parseASN1IntegerAsInt(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:182,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:184,1
    - Dst: privateKeyAlgorithm.getContents()
      Src: com.jcraft.jsch.KeyPairPKCS8:190,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:192,1
    - Dst: contents[0].isOBJECT()
      Src: com.jcraft.jsch.KeyPairPKCS8:194,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:195,1
    - Dst: contents[0].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:197,1
    - Dst: privateKey.getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:199,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:202,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:204,1
    - Dst: contents[1].isNULL()
      Src: com.jcraft.jsch.KeyPairPKCS8:206,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:207,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].<init>(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:210,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].copy()'
      Src: com.jcraft.jsch.KeyPairPKCS8:211,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].parse(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:212,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:216,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:218,1
    - Dst: '[java.util.ArrayList].<init>(int)'
      Src: com.jcraft.jsch.KeyPairPKCS8:219,1
    - Dst: contents[1].isSEQUENCE()
      Src: com.jcraft.jsch.KeyPairPKCS8:221,1
    - Dst: contents[1].getContents()
      Src: com.jcraft.jsch.KeyPairPKCS8:222,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:224,1
    - Dst: contents[0].isINTEGER()
      Src: com.jcraft.jsch.KeyPairPKCS8:226,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:227,1
    - Dst: contents[1].isINTEGER()
      Src: com.jcraft.jsch.KeyPairPKCS8:229,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:230,1
    - Dst: contents[2].isINTEGER()
      Src: com.jcraft.jsch.KeyPairPKCS8:232,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:233,1
    - Dst: contents[0].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:236,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:236,1
    - Dst: contents[1].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:237,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:237,1
    - Dst: contents[2].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:238,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:238,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].<init>(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:241,1
    - Dst: '[java.util.ArrayList].size()'
      Src: com.jcraft.jsch.KeyPairPKCS8:242,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
      Src: com.jcraft.jsch.KeyPairPKCS8:247,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:248,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getContents()'
      Src: com.jcraft.jsch.KeyPairPKCS8:251,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:253,1
    - Dst: contents[0].isSEQUENCE()
      Src: com.jcraft.jsch.KeyPairPKCS8:255,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:256,1
    - Dst: contents[1].isINTEGER()
      Src: com.jcraft.jsch.KeyPairPKCS8:258,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:259,1
    - Dst: contents[1].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:262,1
    - Dst: contents[0].getContents()
      Src: com.jcraft.jsch.KeyPairPKCS8:264,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:266,1
    - Dst: contents[0].isINTEGER()
      Src: com.jcraft.jsch.KeyPairPKCS8:268,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:269,1
    - Dst: contents[1].isINTEGER()
      Src: com.jcraft.jsch.KeyPairPKCS8:271,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:272,1
    - Dst: contents[2].isINTEGER()
      Src: com.jcraft.jsch.KeyPairPKCS8:274,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:275,1
    - Dst: contents[0].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:278,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:278,1
    - Dst: contents[1].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:279,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:279,1
    - Dst: contents[2].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:280,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:280,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].isINTEGER()'
      Src: com.jcraft.jsch.KeyPairPKCS8:285,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:286,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getContent()'
      Src: com.jcraft.jsch.KeyPairPKCS8:288,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: com.jcraft.jsch.KeyPairPKCS8:291,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: com.jcraft.jsch.KeyPairPKCS8:292,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: com.jcraft.jsch.KeyPairPKCS8:293,1
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:296,1
    - Dst: '[java.math.BigInteger].<init>(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:296,1
    - Dst: (new BigInteger(G_array)).modPow(java.math.BigInteger,java.math.BigInteger)
      Src: com.jcraft.jsch.KeyPairPKCS8:295,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].toByteArray()'
      Src: com.jcraft.jsch.KeyPairPKCS8:295,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].<init>(com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:298,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].getPrivateKey()'
      Src: com.jcraft.jsch.KeyPairPKCS8:299,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].<init>(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:301,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].copy()'
      Src: com.jcraft.jsch.KeyPairPKCS8:302,1
    - Dst: '[com.jcraft.jsch.KeyPairDSA].parse(byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:303,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:307,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:309,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:311,1
    - Dst: contents[1].isOBJECT()
      Src: com.jcraft.jsch.KeyPairPKCS8:313,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:314,1
    - Dst: contents[1].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:317,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:319,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:320,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:321,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:322,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:323,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:324,1
    - Dst: '[com.jcraft.jsch.Util].toHex(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:326,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:326,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].<init>(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:329,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
      Src: com.jcraft.jsch.KeyPairPKCS8:330,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:331,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getContents()'
      Src: com.jcraft.jsch.KeyPairPKCS8:340,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:342,1
    - Dst: contents[0].isINTEGER()
      Src: com.jcraft.jsch.KeyPairPKCS8:344,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:345,1
    - Dst: contents[1].isOCTETSTRING()
      Src: com.jcraft.jsch.KeyPairPKCS8:347,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:348,1
    - Dst: contents[0].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:351,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].parseASN1IntegerAsInt(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:351,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:353,1
    - Dst: contents[1].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:355,1
    - Dst: contents[2].isCONTEXTCONSTRUCTED(int)
      Src: com.jcraft.jsch.KeyPairPKCS8:365,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:366,1
    - Dst: contents[2].getContents()
      Src: com.jcraft.jsch.KeyPairPKCS8:371,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:373,1
    - Dst: goo[0].isOBJECT()
      Src: com.jcraft.jsch.KeyPairPKCS8:375,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:376,1
    - Dst: goo[0].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:378,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:378,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:379,1
    - Dst: publicKey.isCONTEXTCONSTRUCTED(int)
      Src: com.jcraft.jsch.KeyPairPKCS8:384,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:385,1
    - Dst: publicKey.getContents()
      Src: com.jcraft.jsch.KeyPairPKCS8:387,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:389,1
    - Dst: contents[0].isBITSTRING()
      Src: com.jcraft.jsch.KeyPairPKCS8:391,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:392,1
    - Dst: contents[0].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:395,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].fromPoint(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:396,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].<init>(com.jcraft.jsch.KeyPairPKCS8,byte[],com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:400,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].getPrivateKey()'
      Src: com.jcraft.jsch.KeyPairPKCS8:401,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].<init>(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:403,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].copy()'
      Src: com.jcraft.jsch.KeyPairPKCS8:404,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].parse(byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:405,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:409,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:411,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:412,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:414,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].<init>(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:416,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].isOCTETSTRING()'
      Src: com.jcraft.jsch.KeyPairPKCS8:417,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:418,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getContent()'
      Src: com.jcraft.jsch.KeyPairPKCS8:421,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:422,1
    - Dst: '[com.jcraft.jsch.KeyPairEd25519].<init>(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:423,1
    - Dst: '[com.jcraft.jsch.KeyPairEd448].<init>(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:425,1
    - Dst: '[com.jcraft.jsch.KeyPairEd448].copy()'
      Src: com.jcraft.jsch.KeyPairPKCS8:427,1
    - Dst: '[com.jcraft.jsch.KeyPairEd448].parse(byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:428,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:432,1
    - Dst: '[com.jcraft.jsch.Util].toHex(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:436,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:435,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairPKCS8:439,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].isEnabled(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:439,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairPKCS8:440,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].log(com.jcraft.jsch.KeyPairPKCS8,String,com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:440,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairPKCS8:445,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].isEnabled(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:445,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairPKCS8:446,1
    - Dst: e.getMessage()
      Src: com.jcraft.jsch.KeyPairPKCS8:446,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].log(com.jcraft.jsch.KeyPairPKCS8,String,com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:446,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:451,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:452,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:453,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].dispose()'
      Src: com.jcraft.jsch.KeyPairPKCS8:455,1
    CyclomaticComplexity: 119
    EdgeCount: 119
    ICount: 256
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - plain
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 458
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 458
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].parse(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPairECDSA].copy()'
    - '[com.jcraft.jsch.KeyPairECDSA].fromPoint(com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.KeyPairPKCS8].isEnabled(com.jcraft.jsch.KeyPairPKCS8)'
    - contents[0].isSEQUENCE()
    - publicKey.getContents()
    - contents[1].isSEQUENCE()
    - privateKey.getContent()
    - contents[2].isOCTETSTRING()
    - '[java.util.ArrayList].<init>(int)'
    - contents[1].getContent()
    - '[com.jcraft.jsch.KeyPairDSA].<init>(com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.asn1.ASN1].isOCTETSTRING()'
    - '[com.jcraft.jsch.KeyPairEd448].copy()'
    - '[com.jcraft.jsch.asn1.ASN1].getContent()'
    - '[com.jcraft.jsch.KeyPairRSA].<init>(com.jcraft.jsch.KeyPairPKCS8)'
    - contents[3].isCONTEXTCONSTRUCTED(int)
    - '[com.jcraft.jsch.KeyPairPKCS8].log(com.jcraft.jsch.KeyPairPKCS8,String,com.jcraft.jsch.KeyPairPKCS8)'
    - '[java.util.ArrayList].add(com.jcraft.jsch.KeyPairPKCS8)'
    - contents[1].getContents()
    - contents[0].isBITSTRING()
    - '[com.jcraft.jsch.KeyPairECDSA].getPrivateKey()'
    - contents[0].getContent()
    - instLogger.getLogger()
    - contents[2].getContents()
    - privateKeyAlgorithm.getContents()
    - '[com.jcraft.jsch.asn1.ASN1].isINTEGER()'
    - contents[2].isCONTEXTCONSTRUCTED(int)
    - '[com.jcraft.jsch.KeyPairDSA].getPrivateKey()'
    - '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.asn1.ASN1].<init>(com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.KeyPairDSA].<init>(com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8,byte[])'
    - contents[0].isINTEGER()
    - contents[1].isOBJECT()
    - '[com.jcraft.jsch.KeyPairEd448].parse(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - contents[1].isINTEGER()
    - '[com.jcraft.jsch.KeyPairECDSA].<init>(com.jcraft.jsch.KeyPairPKCS8,byte[],com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8)'
    - '[java.util.ArrayList].size()'
    - '[com.jcraft.jsch.KeyPairPKCS8].toByteArray()'
    - contents[1].isNULL()
    - contents[1].isOCTETSTRING()
    - goo[0].isOBJECT()
    - (new BigInteger(G_array)).modPow(java.math.BigInteger,java.math.BigInteger)
    - contents[2].getContent()
    - '[java.math.BigInteger].<init>(com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
    - '[com.jcraft.jsch.KeyPairDSA].copy()'
    - '[com.jcraft.jsch.Util].toHex(com.jcraft.jsch.KeyPairPKCS8)'
    - contents[2].isINTEGER()
    - '[com.jcraft.jsch.KeyPairEd448].<init>(com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.KeyPairECDSA].dispose()'
    - '[com.jcraft.jsch.asn1.ASN1].getContents()'
    - contents[0].getContents()
    - '[com.jcraft.jsch.KeyPairECDSA].parse(byte[])'
    - '[com.jcraft.jsch.KeyPairEd25519].<init>(com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.KeyPairRSA].copy()'
    - '[com.jcraft.jsch.asn1.ASN1].parseASN1IntegerAsInt(com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.asn1.ASN1].<init>(byte[])'
    - '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
    - contents[0].isOBJECT()
    - '[com.jcraft.jsch.KeyPairRSA].parse(com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.KeyPairECDSA].<init>(com.jcraft.jsch.KeyPairPKCS8)'
    - goo[0].getContent()
    - e.getMessage()
    - '[java.util.ArrayList].get(int)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.KeyPairDSA].parse(byte[])'
    - '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
    - '[java.math.BigInteger].<init>(byte[])'
    - publicKey.isCONTEXTCONSTRUCTED(int)
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyPairPKCS8].parse(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPairPKCS8:463,1
    - Dst: '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPairPKCS8:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 467
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].getPublicKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairPKCS8].getPublicKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getKeyTypeName()'
      Src: com.jcraft.jsch.KeyPairPKCS8:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 476
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 476
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].getKeyTypeName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getKeyTypeName()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairPKCS8].getKeyTypeName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getKeyType()'
      Src: com.jcraft.jsch.KeyPairPKCS8:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].getKeyType()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getKeyType()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPairPKCS8].getKeyType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getKeySize()'
      Src: com.jcraft.jsch.KeyPairPKCS8:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].getKeySize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getKeySize()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPairPKCS8].getKeySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getSignature(byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].getSignature(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getSignature(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairPKCS8].getSignature(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getSignature(byte[],String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 2
    argNames:
    - data
    - alg
    argTypes:
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].getSignature(byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getSignature(byte[],String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairPKCS8].getSignature(byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getVerifier()'
      Src: com.jcraft.jsch.KeyPairPKCS8:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Signature
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].getVerifier()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getVerifier()'
    linkageType: ''
    returnType: com.jcraft.jsch.Signature
    signature: '[com.jcraft.jsch.KeyPairPKCS8].getVerifier()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getVerifier(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Signature
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - alg
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].getVerifier(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].getVerifier(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.Signature
    signature: '[com.jcraft.jsch.KeyPairPKCS8].getVerifier(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].forSSHAgent()'
      Src: com.jcraft.jsch.KeyPairPKCS8:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].forSSHAgent()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPair].forSSHAgent()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairPKCS8].forSSHAgent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].isEncrypted()'
      Src: com.jcraft.jsch.KeyPairPKCS8:519,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].isEncrypted()'
      Src: com.jcraft.jsch.KeyPairPKCS8:523,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].<init>(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:550,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
      Src: com.jcraft.jsch.KeyPairPKCS8:551,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:552,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getContents()'
      Src: com.jcraft.jsch.KeyPairPKCS8:555,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:557,1
    - Dst: contents[0].isSEQUENCE()
      Src: com.jcraft.jsch.KeyPairPKCS8:559,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:560,1
    - Dst: contents[1].isOCTETSTRING()
      Src: com.jcraft.jsch.KeyPairPKCS8:562,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:563,1
    - Dst: contents[1].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:566,1
    - Dst: pbes.getContents()
      Src: com.jcraft.jsch.KeyPairPKCS8:569,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:571,1
    - Dst: contents[0].isOBJECT()
      Src: com.jcraft.jsch.KeyPairPKCS8:573,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:574,1
    - Dst: contents[1].isSEQUENCE()
      Src: com.jcraft.jsch.KeyPairPKCS8:576,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:577,1
    - Dst: contents[0].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:580,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:588,1
    - Dst: pbesparam.getContents()
      Src: com.jcraft.jsch.KeyPairPKCS8:589,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:591,1
    - Dst: kdf.isSEQUENCE()
      Src: com.jcraft.jsch.KeyPairPKCS8:597,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:598,1
    - Dst: encryptfunc.isSEQUENCE()
      Src: com.jcraft.jsch.KeyPairPKCS8:600,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:601,1
    - Dst: encryptfunc.getContents()
      Src: com.jcraft.jsch.KeyPairPKCS8:604,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:607,1
    - Dst: contents[0].isOBJECT()
      Src: com.jcraft.jsch.KeyPairPKCS8:609,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:610,1
    - Dst: contents[0].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:613,1
    - Dst: kdf.getContents()
      Src: com.jcraft.jsch.KeyPairPKCS8:616,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:618,1
    - Dst: contents[0].isOBJECT()
      Src: com.jcraft.jsch.KeyPairPKCS8:620,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:621,1
    - Dst: contents[1].isSEQUENCE()
      Src: com.jcraft.jsch.KeyPairPKCS8:623,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:624,1
    - Dst: contents[0].getContent()
      Src: com.jcraft.jsch.KeyPairPKCS8:627,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:628,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].getKDF(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:630,1
    - Dst: contents[1].getRaw()
      Src: com.jcraft.jsch.KeyPairPKCS8:631,1
    - Dst: '[com.jcraft.jsch.KDF].initWithASN1(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:631,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:632,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].getKDF(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:634,1
    - Dst: contents[1].getRaw()
      Src: com.jcraft.jsch.KeyPairPKCS8:635,1
    - Dst: '[com.jcraft.jsch.KDF].initWithASN1(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:635,1
    - Dst: '[com.jcraft.jsch.Util].toHex(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:637,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:637,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:641,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:643,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:645,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:647,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:649,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:651,1
    - Dst: '[com.jcraft.jsch.Util].toHex(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:654,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:656,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].getCipher(com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:660,1
    - Dst: '[com.jcraft.jsch.Cipher].getBlockSize()'
      Src: com.jcraft.jsch.KeyPairPKCS8:663,1
    - Dst: '[com.jcraft.jsch.KDF].getKey(byte[],int)'
      Src: com.jcraft.jsch.KeyPairPKCS8:663,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:665,1
    - Dst: '[com.jcraft.jsch.Cipher].init(com.jcraft.jsch.KeyPairPKCS8,byte[],com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:667,1
    - Dst: '[com.jcraft.jsch.Cipher].update(com.jcraft.jsch.KeyPairPKCS8,int,com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8,int)'
      Src: com.jcraft.jsch.KeyPairPKCS8:669,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].parse(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:670,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:672,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:675,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairPKCS8:678,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].isEnabled(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:678,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairPKCS8:679,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].log(com.jcraft.jsch.KeyPairPKCS8,String,com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:679,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairPKCS8:684,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].isEnabled(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:684,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairPKCS8:685,1
    - Dst: e.getMessage()
      Src: com.jcraft.jsch.KeyPairPKCS8:685,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].log(com.jcraft.jsch.KeyPairPKCS8,String,com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:685,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:690,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:691,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:692,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 124
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - _passphrase
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 694
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 694
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].decrypt(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairPKCS8].getCipher(com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.KeyPairPKCS8].isEnabled(com.jcraft.jsch.KeyPairPKCS8)'
    - contents[0].isSEQUENCE()
    - contents[1].isSEQUENCE()
    - contents[1].getContent()
    - kdf.isSEQUENCE()
    - '[com.jcraft.jsch.Cipher].init(com.jcraft.jsch.KeyPairPKCS8,byte[],com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.KeyPairPKCS8].log(com.jcraft.jsch.KeyPairPKCS8,String,com.jcraft.jsch.KeyPairPKCS8)'
    - instLogger.getLogger()
    - contents[0].getContent()
    - '[com.jcraft.jsch.asn1.ASN1].<init>(com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.KeyPairPKCS8].parse(com.jcraft.jsch.KeyPairPKCS8)'
    - kdf.getContents()
    - contents[1].getRaw()
    - contents[1].isOCTETSTRING()
    - encryptfunc.getContents()
    - '[com.jcraft.jsch.Cipher].update(com.jcraft.jsch.KeyPairPKCS8,int,com.jcraft.jsch.KeyPairPKCS8,com.jcraft.jsch.KeyPairPKCS8,int)'
    - '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
    - encryptfunc.isSEQUENCE()
    - '[com.jcraft.jsch.Cipher].getBlockSize()'
    - '[com.jcraft.jsch.Util].toHex(com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.KDF].getKey(byte[],int)'
    - '[com.jcraft.jsch.asn1.ASN1].getContents()'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPairPKCS8)'
    - pbesparam.getContents()
    - '[com.jcraft.jsch.KDF].initWithASN1(com.jcraft.jsch.KeyPairPKCS8)'
    - e.getMessage()
    - '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairPKCS8,byte[])'
    - '[com.jcraft.jsch.KeyPairPKCS8].isEncrypted()'
    - contents[0].isOBJECT()
    - pbes.getContents()
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.KeyPairPKCS8].getKDF(com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyPairPKCS8].decrypt(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:698,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairPKCS8:698,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].asSubclass()'
      Src: com.jcraft.jsch.KeyPairPKCS8:698,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairPKCS8:699,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].newInstance()'
      Src: com.jcraft.jsch.KeyPairPKCS8:699,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KDF
      static: true
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 703
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 703
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].getKDF(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairPKCS8].newInstance()'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPairPKCS8].getDeclaredConstructor()'
    - '[com.jcraft.jsch.KeyPairPKCS8].asSubclass()'
    - Class.forName(String)
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPairPKCS8)'
    linkageType: ''
    returnType: com.jcraft.jsch.KDF
    signature: '[com.jcraft.jsch.KeyPairPKCS8].getKDF(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:707,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:709,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:711,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:713,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:714,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:715,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:716,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:717,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:718,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:719,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:720,1
    - Dst: '[com.jcraft.jsch.Util].toHex(byte[])'
      Src: com.jcraft.jsch.KeyPairPKCS8:724,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairPKCS8:724,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].isOCTETSTRING()'
      Src: com.jcraft.jsch.KeyPairPKCS8:727,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.KeyPairPKCS8:728,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getContent()'
      Src: com.jcraft.jsch.KeyPairPKCS8:730,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:733,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairPKCS8:733,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].asSubclass()'
      Src: com.jcraft.jsch.KeyPairPKCS8:733,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairPKCS8:734,1
    - Dst: '[com.jcraft.jsch.KeyPairPKCS8].newInstance()'
      Src: com.jcraft.jsch.KeyPairPKCS8:734,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPairPKCS8)'
      Src: com.jcraft.jsch.KeyPairPKCS8:736,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - com.jcraft.jsch.asn1.ASN1
      - byte[][]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.KeyPair
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Cipher
      static: true
      superClass: com.jcraft.jsch.KeyPair
    argCount: 3
    argNames:
    - id
    - encryptparams
    - ivp
    argTypes:
    - byte[]
    - com.jcraft.jsch.asn1.ASN1
    - byte[][]
    constantsTouched: []
    func_position:
      end: 738
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 738
    functionName: '[com.jcraft.jsch.KeyPairPKCS8].getCipher(byte[],com.jcraft.jsch.asn1.ASN1,byte[][])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairPKCS8].newInstance()'
    - '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.KeyPairPKCS8].getDeclaredConstructor()'
    - '[com.jcraft.jsch.Util].toHex(byte[])'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPairPKCS8].asSubclass()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
    - '[com.jcraft.jsch.asn1.ASN1].isOCTETSTRING()'
    - '[com.jcraft.jsch.asn1.ASN1].getContent()'
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.KeyPairPKCS8)'
    - '[com.jcraft.jsch.Util].array_equals(byte[],byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.Cipher
    signature: '[com.jcraft.jsch.KeyPairPKCS8].getCipher(byte[],com.jcraft.jsch.asn1.ASN1,byte[][])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:83,1
    - Dst: '[Object].<init>()'
      Src: com.jcraft.jsch.Session:133,1
    - Dst: '[Object].<init>()'
      Src: com.jcraft.jsch.Session:182,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.Session:184,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:185,1
    - Dst: '[com.jcraft.jsch.Session].applyConfig()'
      Src: com.jcraft.jsch.Session:190,1
    - Dst: '[com.jcraft.jsch.Util].getSystemProperty(String)'
      Src: com.jcraft.jsch.Session:193,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:197,1
    - Dst: '[GlobalRequestReply].<init>()'
      Src: com.jcraft.jsch.Session:2585,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:2878,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:2890,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      - String
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Session
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - jsch
    - username
    - host
    - port
    argTypes:
    - com.jcraft.jsch.JSch
    - String
    - String
    - int
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 6
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: '[com.jcraft.jsch.Session].<init>(com.jcraft.jsch.JSch,String,String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].getSystemProperty(String)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[GlobalRequestReply].<init>()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Session].applyConfig()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[Object].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.Session
    signature: '[com.jcraft.jsch.Session].<init>(com.jcraft.jsch.JSch,String,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].connect(int)'
      Src: com.jcraft.jsch.Session:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 6
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: '[com.jcraft.jsch.Session].connect()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 35
    functionsReached:
    - '[com.jcraft.jsch.Session].connect(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].connect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:207,1
    - Dst: '[com.jcraft.jsch.IO].<init>()'
      Src: com.jcraft.jsch.Session:211,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:214,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.Session:214,1
    - Dst: '[com.jcraft.jsch.Session].asSubclass()'
      Src: com.jcraft.jsch.Session:214,1
    - Dst: '[com.jcraft.jsch.Session].getDeclaredConstructor()'
      Src: com.jcraft.jsch.Session:215,1
    - Dst: '[com.jcraft.jsch.Session].newInstance()'
      Src: com.jcraft.jsch.Session:215,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.Session:217,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:217,1
    - Dst: '[com.jcraft.jsch.Packet].setRandom(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:220,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:222,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:222,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:223,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:223,1
    - Dst: '[com.jcraft.jsch.Util].createSocket(String,int,int)'
      Src: com.jcraft.jsch.Session:233,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: com.jcraft.jsch.Session:234,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: com.jcraft.jsch.Session:235,1
    - Dst: '[com.jcraft.jsch.SocketFactory].createSocket(String,int)'
      Src: com.jcraft.jsch.Session:237,1
    - Dst: '[com.jcraft.jsch.SocketFactory].getInputStream(java.net.Socket)'
      Src: com.jcraft.jsch.Session:238,1
    - Dst: '[com.jcraft.jsch.SocketFactory].getOutputStream(java.net.Socket)'
      Src: com.jcraft.jsch.Session:239,1
    - Dst: '[java.net.Socket].setTcpNoDelay(boolean)'
      Src: com.jcraft.jsch.Session:242,1
    - Dst: '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream)'
      Src: com.jcraft.jsch.Session:243,1
    - Dst: '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream)'
      Src: com.jcraft.jsch.Session:244,1
    - Dst: '[com.jcraft.jsch.Proxy].connect(com.jcraft.jsch.SocketFactory,String,int,int)'
      Src: com.jcraft.jsch.Session:247,1
    - Dst: '[com.jcraft.jsch.Proxy].getInputStream()'
      Src: com.jcraft.jsch.Session:248,1
    - Dst: '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream)'
      Src: com.jcraft.jsch.Session:248,1
    - Dst: '[com.jcraft.jsch.Proxy].getOutputStream()'
      Src: com.jcraft.jsch.Session:249,1
    - Dst: '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream)'
      Src: com.jcraft.jsch.Session:249,1
    - Dst: '[com.jcraft.jsch.Proxy].getSocket()'
      Src: com.jcraft.jsch.Session:250,1
    - Dst: '[java.net.Socket].setSoTimeout(int)'
      Src: com.jcraft.jsch.Session:255,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:260,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:260,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:261,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:261,1
    - Dst: '[com.jcraft.jsch.JSch].addSession()'
      Src: com.jcraft.jsch.Session:264,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:269,1
    - Dst: '[com.jcraft.jsch.IO].put(com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:272,1
    - Dst: '[com.jcraft.jsch.IO].getByte()'
      Src: com.jcraft.jsch.Session:279,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:288,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:308,1
    - Dst: System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:314,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.Session:316,1
    - Dst: '[String].startsWith(String)'
      Src: com.jcraft.jsch.Session:317,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:319,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:319,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:320,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:320,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:321,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.Session:321,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:321,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:324,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:324,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:325,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:325,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:326,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:326,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:327,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:327,1
    - Dst: '[com.jcraft.jsch.Session].send_kexinit()'
      Src: com.jcraft.jsch.Session:328,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:330,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.Session:331,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.Session:333,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:333,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:336,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:336,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:337,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:337,1
    - Dst: '[com.jcraft.jsch.Session].receive_kexinit(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:340,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:343,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getState()'
      Src: com.jcraft.jsch.Session:344,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.Session:344,1
    - Dst: System.currentTimeMillis()
      Src: com.jcraft.jsch.Session:345,1
    - Dst: '[com.jcraft.jsch.KeyExchange].next(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:346,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:350,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.Session:354,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:354,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getState()'
      Src: com.jcraft.jsch.Session:356,1
    - Dst: System.currentTimeMillis()
      Src: com.jcraft.jsch.Session:362,1
    - Dst: '[com.jcraft.jsch.Session].checkHost(String,int,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.Session:364,1
    - Dst: System.currentTimeMillis()
      Src: com.jcraft.jsch.Session:366,1
    - Dst: '[com.jcraft.jsch.Session].send_newkeys()'
      Src: com.jcraft.jsch.Session:373,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:376,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.Session:378,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:380,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:380,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:381,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:381,1
    - Dst: '[com.jcraft.jsch.Session].receive_newkeys(com.jcraft.jsch.Buffer,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.Session:384,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.Session:388,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:388,1
    - Dst: '[com.jcraft.jsch.Session].send_extinfo()'
      Src: com.jcraft.jsch.Session:392,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:396,1
    - Dst: Integer.parseInt(String)
      Src: com.jcraft.jsch.Session:398,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:401,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:401,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:410,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.Session:410,1
    - Dst: '[com.jcraft.jsch.Session].asSubclass()'
      Src: com.jcraft.jsch.Session:410,1
    - Dst: '[com.jcraft.jsch.Session].getDeclaredConstructor()'
      Src: com.jcraft.jsch.Session:411,1
    - Dst: '[com.jcraft.jsch.Session].newInstance()'
      Src: com.jcraft.jsch.Session:411,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.Session:413,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:413,1
    - Dst: '[com.jcraft.jsch.Session].start()'
      Src: com.jcraft.jsch.Session:416,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:418,1
    - Dst: '[com.jcraft.jsch.Util].split(String,String)'
      Src: com.jcraft.jsch.Session:420,1
    - Dst: '[com.jcraft.jsch.Session].getMethods()'
      Src: com.jcraft.jsch.Session:424,1
    - Dst: '[com.jcraft.jsch.Session].toLowerCase(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:426,1
    - Dst: '[com.jcraft.jsch.Util].split(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:434,1
    - Dst: smethoda[k].equals(com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:445,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:456,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:456,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:463,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:463,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:464,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:464,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:470,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:471,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.Session:471,1
    - Dst: '[com.jcraft.jsch.Session].asSubclass()'
      Src: com.jcraft.jsch.Session:471,1
    - Dst: '[com.jcraft.jsch.Session].getDeclaredConstructor()'
      Src: com.jcraft.jsch.Session:472,1
    - Dst: '[com.jcraft.jsch.Session].newInstance()'
      Src: com.jcraft.jsch.Session:472,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:475,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:475,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:476,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:476,1
    - Dst: '[com.jcraft.jsch.Session].start()'
      Src: com.jcraft.jsch.Session:483,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:484,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:484,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:485,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:485,1
    - Dst: ee.getMethods()
      Src: com.jcraft.jsch.Session:491,1
    - Dst: '[com.jcraft.jsch.Util].split(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:492,1
    - Dst: tmp.equals(com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:493,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:506,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:506,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:507,1
    - Dst: ee.toString()
      Src: com.jcraft.jsch.Session:507,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:507,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:519,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:519,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:520,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:520,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:523,1
    - Dst: '[java.net.Socket].setSoTimeout(int)'
      Src: com.jcraft.jsch.Session:528,1
    - Dst: '[com.jcraft.jsch.Session].getThreadFactory()'
      Src: com.jcraft.jsch.Session:535,1
    - Dst: '[java.util.concurrent.ThreadFactory].newThread()'
      Src: com.jcraft.jsch.Session:535,1
    - Dst: '[com.jcraft.jsch.Session].setName(String)'
      Src: com.jcraft.jsch.Session:536,1
    - Dst: '[com.jcraft.jsch.Session].setDaemon(boolean)'
      Src: com.jcraft.jsch.Session:538,1
    - Dst: '[com.jcraft.jsch.Session].start()'
      Src: com.jcraft.jsch.Session:540,1
    - Dst: '[com.jcraft.jsch.Session].requestPortForwarding()'
      Src: com.jcraft.jsch.Session:542,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.Session:552,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Session:553,1
    - Dst: '[com.jcraft.jsch.Session].getBufferMargin()'
      Src: com.jcraft.jsch.Session:554,1
    - Dst: '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:554,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:555,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Session:556,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:557,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:557,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:558,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:558,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:559,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.Session:564,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:573,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.Session:575,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 342
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connectTimeout
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 578
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 578
    functionName: '[com.jcraft.jsch.Session].connect(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 7
    functionsReached:
    - '[com.jcraft.jsch.Proxy].connect(com.jcraft.jsch.SocketFactory,String,int,int)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Util].createSocket(String,int,int)'
    - '[com.jcraft.jsch.Session].checkHost(String,int,com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream)'
    - '[com.jcraft.jsch.Proxy].getOutputStream()'
    - System.currentTimeMillis()
    - Integer.parseInt(String)
    - '[com.jcraft.jsch.Session].receive_kexinit(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].split(String,String)'
    - '[com.jcraft.jsch.Session].requestPortForwarding()'
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.Session)'
    - '[java.net.Socket].setTcpNoDelay(boolean)'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.IO].getByte()'
    - '[com.jcraft.jsch.SocketFactory].getInputStream(java.net.Socket)'
    - '[com.jcraft.jsch.KeyExchange].next(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Session].asSubclass()'
    - '[com.jcraft.jsch.Session].setName(String)'
    - '[com.jcraft.jsch.SocketFactory].createSocket(String,int)'
    - '[com.jcraft.jsch.KeyExchange].getState()'
    - ee.toString()
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].getBufferMargin()'
    - '[com.jcraft.jsch.Session].send_extinfo()'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Session].send_kexinit()'
    - e.toString()
    - '[com.jcraft.jsch.Session].send_newkeys()'
    - '[String].equals(String)'
    - ee.getMethods()
    - '[java.util.concurrent.ThreadFactory].newThread()'
    - '[java.net.Socket].getOutputStream()'
    - '[com.jcraft.jsch.IO].put(com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - smethoda[k].equals(com.jcraft.jsch.Session)
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Session].getThreadFactory()'
    - '[com.jcraft.jsch.Session].start()'
    - '[com.jcraft.jsch.Session].getMethods()'
    - '[String].startsWith(String)'
    - '[com.jcraft.jsch.Session].toLowerCase(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].setDaemon(boolean)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[java.net.Socket].setSoTimeout(int)'
    - Class.forName(String)
    - System.arraycopy(byte[],int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].newInstance()'
    - '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.IO].<init>()'
    - '[com.jcraft.jsch.Proxy].getInputStream()'
    - '[com.jcraft.jsch.Session].disconnect()'
    - System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.Session)
    - '[java.net.Socket].getInputStream()'
    - '[com.jcraft.jsch.Session].receive_newkeys(com.jcraft.jsch.Buffer,com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.Buffer].getCommand()'
    - '[com.jcraft.jsch.Session].getDeclaredConstructor()'
    - '[com.jcraft.jsch.JSch].addSession()'
    - '[com.jcraft.jsch.Packet].setRandom(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.SocketFactory].getOutputStream(java.net.Socket)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Proxy].getSocket()'
    - tmp.equals(com.jcraft.jsch.Session)
    - '[com.jcraft.jsch.Util].split(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].connect(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:581,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.Session:582,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.Session:583,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.Session:586,1
    - Dst: System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:588,1
    - Dst: '[com.jcraft.jsch.Session].checkServerStrictKex()'
      Src: com.jcraft.jsch.Session:592,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:594,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:594,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:595,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:595,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexException].<init>(String)'
      Src: com.jcraft.jsch.Session:599,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexException].<init>(String)'
      Src: com.jcraft.jsch.Session:602,1
    - Dst: '[com.jcraft.jsch.Session].checkServerExtInfo()'
      Src: com.jcraft.jsch.Session:607,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:608,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:608,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:609,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:609,1
    - Dst: '[com.jcraft.jsch.Session].send_kexinit()'
      Src: com.jcraft.jsch.Session:615,1
    - Dst: '[com.jcraft.jsch.KeyExchange].guess(byte[],byte[])'
      Src: com.jcraft.jsch.Session:618,1
    - Dst: guess[KeyExchange.PROPOSAL_KEX_ALGS].equals(String)
      Src: com.jcraft.jsch.Session:620,1
    - Dst: guess[KeyExchange.PROPOSAL_KEX_ALGS].equals(String)
      Src: com.jcraft.jsch.Session:621,1
    - Dst: guess[KeyExchange.PROPOSAL_KEX_ALGS].equals(String)
      Src: com.jcraft.jsch.Session:622,1
    - Dst: guess[KeyExchange.PROPOSAL_KEX_ALGS].equals(String)
      Src: com.jcraft.jsch.Session:623,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:624,1
    - Dst: guess[KeyExchange.PROPOSAL_ENC_ALGS_CTOS].equals(String)
      Src: com.jcraft.jsch.Session:627,1
    - Dst: guess[KeyExchange.PROPOSAL_ENC_ALGS_STOC].equals(String)
      Src: com.jcraft.jsch.Session:628,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:629,1
    - Dst: '[com.jcraft.jsch.Session].getConfig()'
      Src: com.jcraft.jsch.Session:636,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.Session:635,1
    - Dst: '[com.jcraft.jsch.Session].asSubclass()'
      Src: com.jcraft.jsch.Session:635,1
    - Dst: '[com.jcraft.jsch.Session].getDeclaredConstructor()'
      Src: com.jcraft.jsch.Session:637,1
    - Dst: '[com.jcraft.jsch.Session].newInstance()'
      Src: com.jcraft.jsch.Session:637,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.Session:639,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:639,1
    - Dst: '[com.jcraft.jsch.Session].doInit(byte[],byte[],byte[],byte[])'
      Src: com.jcraft.jsch.Session:642,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyExchange
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 644
      start: 580
    functionDepth: 5
    functionLinenumber: 580
    functionLinenumberEnd: 644
    functionName: '[com.jcraft.jsch.Session].receive_kexinit(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 2
    functionsReached:
    - guess[KeyExchange.PROPOSAL_ENC_ALGS_STOC].equals(String)
    - '[com.jcraft.jsch.Session].getLogger()'
    - guess[KeyExchange.PROPOSAL_ENC_ALGS_CTOS].equals(String)
    - '[com.jcraft.jsch.JSchStrictKexException].<init>(String)'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].asSubclass()'
    - '[com.jcraft.jsch.Session].doInit(byte[],byte[],byte[],byte[])'
    - '[com.jcraft.jsch.Session].send_kexinit()'
    - '[com.jcraft.jsch.Session].getConfig()'
    - e.toString()
    - '[com.jcraft.jsch.Session].checkServerExtInfo()'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.KeyExchange].guess(byte[],byte[])'
    - '[com.jcraft.jsch.Session].checkServerStrictKex()'
    - '[com.jcraft.jsch.Buffer].getLength()'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - Class.forName(String)
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].newInstance()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
    - System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.Session)
    - '[com.jcraft.jsch.Session].getDeclaredConstructor()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - guess[KeyExchange.PROPOSAL_KEX_ALGS].equals(String)
    linkageType: ''
    returnType: com.jcraft.jsch.KeyExchange
    signature: '[com.jcraft.jsch.Session].receive_kexinit(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.Session:647,1
    - Dst: '[com.jcraft.jsch.Buffer].setOffSet(int)'
      Src: com.jcraft.jsch.Session:648,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.Session:649,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:658,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:658,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 666
      start: 646
    functionDepth: 4
    functionLinenumber: 646
    functionLinenumberEnd: 666
    functionName: '[com.jcraft.jsch.Session].checkServerStrictKex()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.Buffer].setOffSet(int)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Session].checkServerStrictKex()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.Session:669,1
    - Dst: '[com.jcraft.jsch.Buffer].setOffSet(int)'
      Src: com.jcraft.jsch.Session:670,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.Session:671,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:680,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 688
      start: 668
    functionDepth: 4
    functionLinenumber: 668
    functionLinenumberEnd: 688
    functionName: '[com.jcraft.jsch.Session].checkServerExtInfo()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.Buffer].setOffSet(int)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Session].checkServerExtInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 696
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 696
    functionName: '[com.jcraft.jsch.Session].getUnavailableSignatures()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.Session].getUnavailableSignatures()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].send_kexinit()'
      Src: com.jcraft.jsch.Session:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 698
    functionDepth: 5
    functionLinenumber: 698
    functionLinenumberEnd: 700
    functionName: '[com.jcraft.jsch.Session].rekey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Session].send_kexinit()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].rekey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:706,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:707,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:708,1
    - Dst: '[com.jcraft.jsch.Session].checkCiphers(String)'
      Src: com.jcraft.jsch.Session:708,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:710,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:710,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:711,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:711,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:713,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:713,1
    - Dst: '[com.jcraft.jsch.Util].diffString(String,String[])'
      Src: com.jcraft.jsch.Session:717,1
    - Dst: '[com.jcraft.jsch.Util].diffString(String,String[])'
      Src: com.jcraft.jsch.Session:718,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:720,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:723,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:723,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:724,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:724,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:726,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:726,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:731,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:732,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:733,1
    - Dst: '[com.jcraft.jsch.Session].checkMacs(String)'
      Src: com.jcraft.jsch.Session:733,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:735,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:735,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:736,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:736,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:738,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:738,1
    - Dst: '[com.jcraft.jsch.Util].diffString(String,String[])'
      Src: com.jcraft.jsch.Session:742,1
    - Dst: '[com.jcraft.jsch.Util].diffString(String,String[])'
      Src: com.jcraft.jsch.Session:743,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:745,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:748,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:748,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:749,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:749,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:751,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:751,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:756,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:757,1
    - Dst: '[com.jcraft.jsch.Session].checkKexes(String)'
      Src: com.jcraft.jsch.Session:757,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:759,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:759,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:760,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:760,1
    - Dst: '[com.jcraft.jsch.Util].diffString(String,String[])'
      Src: com.jcraft.jsch.Session:763,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:765,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:768,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:768,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:769,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:769,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:781,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:782,1
    - Dst: '[com.jcraft.jsch.Session].checkSignatures(String)'
      Src: com.jcraft.jsch.Session:782,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:786,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:786,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:787,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:787,1
    - Dst: '[com.jcraft.jsch.Util].diffString(String,String[])'
      Src: com.jcraft.jsch.Session:791,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:793,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:796,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:796,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:797,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:797,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:802,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:803,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:804,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:804,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:805,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:805,1
    - Dst: '[com.jcraft.jsch.Session].getHostKeyRepository()'
      Src: com.jcraft.jsch.Session:809,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].getHostKey(com.jcraft.jsch.Session,null)'
      Src: com.jcraft.jsch.Session:817,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: com.jcraft.jsch.Session:819,1
    - Dst: '[com.jcraft.jsch.Util].split(String,String)'
      Src: com.jcraft.jsch.Session:820,1
    - Dst: '[java.util.Arrays].asList(String[])'
      Src: com.jcraft.jsch.Session:820,1
    - Dst: '[java.util.ArrayList].<init>(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:820,1
    - Dst: '[java.util.ArrayList].iterator()'
      Src: com.jcraft.jsch.Session:821,1
    - Dst: '[com.jcraft.jsch.Session].hasNext()'
      Src: com.jcraft.jsch.Session:822,1
    - Dst: '[com.jcraft.jsch.Session].next()'
      Src: com.jcraft.jsch.Session:823,1
    - Dst: type.equals(String)
      Src: com.jcraft.jsch.Session:825,1
    - Dst: type.equals(String)
      Src: com.jcraft.jsch.Session:825,1
    - Dst: type.equals(String)
      Src: com.jcraft.jsch.Session:826,1
    - Dst: type.equals(String)
      Src: com.jcraft.jsch.Session:826,1
    - Dst: type.equals(String)
      Src: com.jcraft.jsch.Session:827,1
    - Dst: type.equals(String)
      Src: com.jcraft.jsch.Session:827,1
    - Dst: hk.getType()
      Src: com.jcraft.jsch.Session:831,1
    - Dst: '[com.jcraft.jsch.Session].equals(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:831,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:832,1
    - Dst: '[com.jcraft.jsch.Session].remove()'
      Src: com.jcraft.jsch.Session:833,1
    - Dst: '[java.util.ArrayList].size()'
      Src: com.jcraft.jsch.Session:838,1
    - Dst: '[java.util.ArrayList].addAll(java.util.ArrayList)'
      Src: com.jcraft.jsch.Session:839,1
    - Dst: String.join(String,java.util.ArrayList)
      Src: com.jcraft.jsch.Session:840,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:844,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:844,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:845,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:845,1
    - Dst: System.currentTimeMillis()
      Src: com.jcraft.jsch.Session:850,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.Session:865,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:866,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Session:867,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:868,1
    - Dst: '[com.jcraft.jsch.Random].fill(byte[],int,int)'
      Src: com.jcraft.jsch.Session:870,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(int)'
      Src: com.jcraft.jsch.Session:871,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:873,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:873,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:874,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:874,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:875,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:875,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:876,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:876,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:877,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:877,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:877,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:878,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:878,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:878,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:879,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:879,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:879,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:880,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:880,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:880,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:881,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:881,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:881,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:882,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:882,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:882,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:883,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Session:884,1
    - Dst: '[com.jcraft.jsch.Buffer].setOffSet(int)'
      Src: com.jcraft.jsch.Session:886,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.Session:887,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(byte[])'
      Src: com.jcraft.jsch.Session:888,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:890,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:892,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:892,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:893,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:893,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 212
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 895
      start: 702
    functionDepth: 4
    functionLinenumber: 702
    functionLinenumberEnd: 895
    functionName: '[com.jcraft.jsch.Session].send_kexinit()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Session].checkSignatures(String)'
    - '[com.jcraft.jsch.Session].equals(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[java.util.ArrayList].addAll(java.util.ArrayList)'
    - '[com.jcraft.jsch.Util].diffString(String,String[])'
    - System.currentTimeMillis()
    - '[java.util.ArrayList].add(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Util].split(String,String)'
    - String.join(String,java.util.ArrayList)
    - '[com.jcraft.jsch.Session].getHostKeyRepository()'
    - '[java.util.ArrayList].iterator()'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.Session)'
    - type.equals(String)
    - '[com.jcraft.jsch.Buffer].skip(int)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Buffer].getByte(byte[])'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Random].fill(byte[],int,int)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Buffer].setOffSet(int)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[java.util.ArrayList].<init>()'
    - '[com.jcraft.jsch.Buffer].getLength()'
    - '[java.util.ArrayList].size()'
    - hk.getType()
    - '[java.util.ArrayList].<init>(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Session].checkCiphers(String)'
    - '[com.jcraft.jsch.Session].checkKexes(String)'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    - '[java.util.Arrays].asList(String[])'
    - '[com.jcraft.jsch.Session].next()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.HostKeyRepository].getHostKey(com.jcraft.jsch.Session,null)'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Session].remove()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Session].hasNext()'
    - '[com.jcraft.jsch.Session].checkMacs(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].send_kexinit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Session:899,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:900,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:901,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:903,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:903,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:904,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 906
      start: 897
    functionDepth: 5
    functionLinenumber: 897
    functionLinenumberEnd: 906
    functionName: '[com.jcraft.jsch.Session].send_newkeys()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].send_newkeys()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Session:910,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:911,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Session:912,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:913,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:913,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:914,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:914,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:915,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:917,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:917,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:918,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 920
      start: 908
    functionDepth: 5
    functionLinenumber: 908
    functionLinenumberEnd: 920
    functionName: '[com.jcraft.jsch.Session].send_extinfo()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].send_extinfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:923,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getHostKey()'
      Src: com.jcraft.jsch.Session:931,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getKeyType()'
      Src: com.jcraft.jsch.Session:932,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getFingerPrint()'
      Src: com.jcraft.jsch.Session:933,1
    - Dst: '[com.jcraft.jsch.Session].getHostKeyRepository()'
      Src: com.jcraft.jsch.Session:939,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:941,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:942,1
    - Dst: '[com.jcraft.jsch.KnownHosts].createHashedHostKey(com.jcraft.jsch.Session,byte[])'
      Src: com.jcraft.jsch.Session:943,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.Session,byte[])'
      Src: com.jcraft.jsch.Session:945,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].check(com.jcraft.jsch.Session,byte[])'
      Src: com.jcraft.jsch.Session:950,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:954,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:954,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].getKnownHostsRepositoryID()'
      Src: com.jcraft.jsch.Session:957,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:974,1
    - Dst: '[com.jcraft.jsch.UserInfo].promptYesNo(String)'
      Src: com.jcraft.jsch.Session:975,1
    - Dst: '[com.jcraft.jsch.UserInfo].showMessage(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:978,1
    - Dst: '[com.jcraft.jsch.JSchChangedHostKeyException].<init>(String)'
      Src: com.jcraft.jsch.Session:983,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getKeyAlgorithName()'
      Src: com.jcraft.jsch.Session:987,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].remove(com.jcraft.jsch.Session,String,null)'
      Src: com.jcraft.jsch.Session:987,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:992,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:992,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:993,1
    - Dst: '[com.jcraft.jsch.JSchUnknownHostKeyException].<init>(String)'
      Src: com.jcraft.jsch.Session:994,1
    - Dst: '[com.jcraft.jsch.UserInfo].promptYesNo(String)'
      Src: com.jcraft.jsch.Session:998,1
    - Dst: '[com.jcraft.jsch.JSchUnknownHostKeyException].<init>(String)'
      Src: com.jcraft.jsch.Session:1002,1
    - Dst: '[com.jcraft.jsch.JSchUnknownHostKeyException].<init>(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1007,1
    - Dst: '[com.jcraft.jsch.JSchChangedHostKeyException].<init>(String)'
      Src: com.jcraft.jsch.Session:1010,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:1014,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getKeyAlgorithName()'
      Src: com.jcraft.jsch.Session:1019,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].getHostKey(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1019,1
    - Dst: '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.Session,boolean)'
      Src: com.jcraft.jsch.Session:1020,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.Session:1020,1
    - Dst: keys[j].getKey()
      Src: com.jcraft.jsch.Session:1022,1
    - Dst: '[com.jcraft.jsch.Session].equals(String)'
      Src: com.jcraft.jsch.Session:1022,1
    - Dst: keys[j].getMarker()
      Src: com.jcraft.jsch.Session:1022,1
    - Dst: '[com.jcraft.jsch.Session].equals(String)'
      Src: com.jcraft.jsch.Session:1022,1
    - Dst: '[com.jcraft.jsch.UserInfo].showMessage(String)'
      Src: com.jcraft.jsch.Session:1024,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1028,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1028,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1029,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1029,1
    - Dst: '[com.jcraft.jsch.JSchRevokedHostKeyException].<init>(String)'
      Src: com.jcraft.jsch.Session:1031,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1036,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1036,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1037,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1037,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1041,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1041,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1042,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1042,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,com.jcraft.jsch.UserInfo)'
      Src: com.jcraft.jsch.Session:1048,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 146
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - com.jcraft.jsch.KeyExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - chost
    - port
    - kex
    argTypes:
    - String
    - int
    - com.jcraft.jsch.KeyExchange
    constantsTouched: []
    func_position:
      end: 1051
      start: 922
    functionDepth: 4
    functionLinenumber: 922
    functionLinenumberEnd: 1051
    functionName: '[com.jcraft.jsch.Session].checkHost(String,int,com.jcraft.jsch.KeyExchange)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Session].getLogger()'
    - keys[j].getKey()
    - keys[j].getMarker()
    - '[com.jcraft.jsch.HostKeyRepository].remove(com.jcraft.jsch.Session,String,null)'
    - '[com.jcraft.jsch.JSchRevokedHostKeyException].<init>(String)'
    - '[com.jcraft.jsch.JSchUnknownHostKeyException].<init>(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.HostKey].<init>(com.jcraft.jsch.Session,byte[])'
    - '[com.jcraft.jsch.JSchUnknownHostKeyException].<init>(String)'
    - '[com.jcraft.jsch.HostKeyRepository].check(com.jcraft.jsch.Session,byte[])'
    - '[com.jcraft.jsch.Session].getHostKeyRepository()'
    - '[com.jcraft.jsch.KeyExchange].getFingerPrint()'
    - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,com.jcraft.jsch.UserInfo)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Session].equals(String)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.KeyExchange].getKeyAlgorithName()'
    - '[com.jcraft.jsch.UserInfo].showMessage(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.Session,boolean)'
    - '[com.jcraft.jsch.KeyExchange].getHostKey()'
    - '[com.jcraft.jsch.HostKeyRepository].getHostKey(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.UserInfo].showMessage(String)'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.HostKeyRepository].getKnownHostsRepositoryID()'
    - '[com.jcraft.jsch.KnownHosts].createHashedHostKey(com.jcraft.jsch.Session,byte[])'
    - '[com.jcraft.jsch.UserInfo].promptYesNo(String)'
    - '[com.jcraft.jsch.JSchChangedHostKeyException].<init>(String)'
    - '[com.jcraft.jsch.KeyExchange].getKeyType()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].checkHost(String,int,com.jcraft.jsch.KeyExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:1057,1
    - Dst: '[com.jcraft.jsch.Channel].getChannel(String)'
      Src: com.jcraft.jsch.Session:1060,1
    - Dst: '[com.jcraft.jsch.Session].addChannel(com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.Session:1061,1
    - Dst: '[com.jcraft.jsch.Channel].init()'
      Src: com.jcraft.jsch.Session:1062,1
    - Dst: '[com.jcraft.jsch.Session].applyConfigChannel(com.jcraft.jsch.ChannelSession)'
      Src: com.jcraft.jsch.Session:1064,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Channel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1071
      start: 1055
    functionDepth: 2
    functionLinenumber: 1055
    functionLinenumberEnd: 1071
    functionName: '[com.jcraft.jsch.Session].openChannel(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 32
    functionsReached:
    - '[com.jcraft.jsch.Session].applyConfigChannel(com.jcraft.jsch.ChannelSession)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Channel].init()'
    - '[com.jcraft.jsch.Session].addChannel(com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Channel].getChannel(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.Channel
    signature: '[com.jcraft.jsch.Session].openChannel(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Compression].compress(byte[],int,int[])'
      Src: com.jcraft.jsch.Session:1082,1
    - Dst: '[com.jcraft.jsch.Cipher].isChaCha20()'
      Src: com.jcraft.jsch.Session:1090,1
    - Dst: '[com.jcraft.jsch.Cipher].isAEAD()'
      Src: com.jcraft.jsch.Session:1091,1
    - Dst: '[com.jcraft.jsch.MAC].isEtM()'
      Src: com.jcraft.jsch.Session:1093,1
    - Dst: '[com.jcraft.jsch.Packet].padding(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1094,1
    - Dst: '[com.jcraft.jsch.Cipher].update(int)'
      Src: com.jcraft.jsch.Session:1099,1
    - Dst: '[com.jcraft.jsch.Cipher].update(com.jcraft.jsch.Buffer,int,int,com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.Session:1101,1
    - Dst: '[com.jcraft.jsch.Cipher].doFinal(com.jcraft.jsch.Buffer,int,int,com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.Session:1103,1
    - Dst: '[com.jcraft.jsch.Cipher].getTagSize()'
      Src: com.jcraft.jsch.Session:1104,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(int)'
      Src: com.jcraft.jsch.Session:1104,1
    - Dst: '[com.jcraft.jsch.Cipher].updateAAD(com.jcraft.jsch.Buffer,int,int)'
      Src: com.jcraft.jsch.Session:1106,1
    - Dst: '[com.jcraft.jsch.Cipher].doFinal(com.jcraft.jsch.Buffer,int,int,com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.Session:1107,1
    - Dst: '[com.jcraft.jsch.Cipher].getTagSize()'
      Src: com.jcraft.jsch.Session:1108,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(int)'
      Src: com.jcraft.jsch.Session:1108,1
    - Dst: '[com.jcraft.jsch.Cipher].update(com.jcraft.jsch.Buffer,int,int,com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.Session:1110,1
    - Dst: '[com.jcraft.jsch.MAC].update(int)'
      Src: com.jcraft.jsch.Session:1111,1
    - Dst: '[com.jcraft.jsch.MAC].update(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1112,1
    - Dst: '[com.jcraft.jsch.MAC].doFinal(byte[],int)'
      Src: com.jcraft.jsch.Session:1113,1
    - Dst: '[com.jcraft.jsch.MAC].getBlockSize()'
      Src: com.jcraft.jsch.Session:1114,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(int)'
      Src: com.jcraft.jsch.Session:1114,1
    - Dst: '[com.jcraft.jsch.MAC].update(int)'
      Src: com.jcraft.jsch.Session:1117,1
    - Dst: '[com.jcraft.jsch.MAC].update(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1118,1
    - Dst: '[com.jcraft.jsch.MAC].doFinal(byte[],int)'
      Src: com.jcraft.jsch.Session:1119,1
    - Dst: '[com.jcraft.jsch.Cipher].update(com.jcraft.jsch.Buffer,int,int,com.jcraft.jsch.Buffer,int)'
      Src: com.jcraft.jsch.Session:1122,1
    - Dst: '[com.jcraft.jsch.MAC].getBlockSize()'
      Src: com.jcraft.jsch.Session:1125,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(int)'
      Src: com.jcraft.jsch.Session:1125,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Packet
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - packet
    argTypes:
    - com.jcraft.jsch.Packet
    constantsTouched: []
    func_position:
      end: 1128
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1128
    functionName: '[com.jcraft.jsch.Session].encode(com.jcraft.jsch.Packet)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Cipher].update(int)'
    - '[com.jcraft.jsch.Cipher].doFinal(com.jcraft.jsch.Buffer,int,int,com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.Cipher].getTagSize()'
    - '[com.jcraft.jsch.Compression].compress(byte[],int,int[])'
    - '[com.jcraft.jsch.MAC].getBlockSize()'
    - '[com.jcraft.jsch.Packet].padding(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.MAC].update(byte[],int,int)'
    - '[com.jcraft.jsch.MAC].update(int)'
    - '[com.jcraft.jsch.Buffer].skip(int)'
    - '[com.jcraft.jsch.Cipher].update(com.jcraft.jsch.Buffer,int,int,com.jcraft.jsch.Buffer,int)'
    - '[com.jcraft.jsch.Cipher].isChaCha20()'
    - '[com.jcraft.jsch.Cipher].updateAAD(com.jcraft.jsch.Buffer,int,int)'
    - '[com.jcraft.jsch.MAC].doFinal(byte[],int)'
    - '[com.jcraft.jsch.MAC].isEtM()'
    - '[com.jcraft.jsch.Cipher].isAEAD()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].encode(com.jcraft.jsch.Packet)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Cipher].isChaCha20()'
      Src: com.jcraft.jsch.Session:1138,1
    - Dst: '[com.jcraft.jsch.Cipher].isAEAD()'
      Src: com.jcraft.jsch.Session:1139,1
    - Dst: '[com.jcraft.jsch.MAC].isEtM()'
      Src: com.jcraft.jsch.Session:1141,1
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.Session:1143,1
    - Dst: '[com.jcraft.jsch.IO].getByte(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1146,1
    - Dst: '[com.jcraft.jsch.Cipher].update(int)'
      Src: com.jcraft.jsch.Session:1149,1
    - Dst: '[com.jcraft.jsch.Cipher].update(byte[],int,int,com.jcraft.jsch.Session,int)'
      Src: com.jcraft.jsch.Session:1152,1
    - Dst: '[com.jcraft.jsch.Session].start_discard(com.jcraft.jsch.Buffer,com.jcraft.jsch.Cipher,com.jcraft.jsch.MAC,int,int)'
      Src: com.jcraft.jsch.Session:1157,1
    - Dst: '[com.jcraft.jsch.Cipher].getTagSize()'
      Src: com.jcraft.jsch.Session:1159,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.Session,int,int)
      Src: com.jcraft.jsch.Session:1162,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1168,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1168,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1169,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1169,1
    - Dst: '[com.jcraft.jsch.Session].start_discard(com.jcraft.jsch.Buffer,com.jcraft.jsch.Cipher,com.jcraft.jsch.MAC,int,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1171,1
    - Dst: '[com.jcraft.jsch.IO].getByte(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1174,1
    - Dst: '[com.jcraft.jsch.Cipher].getTagSize()'
      Src: com.jcraft.jsch.Session:1176,1
    - Dst: '[com.jcraft.jsch.Cipher].doFinal(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.Session:1179,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1181,1
    - Dst: System.arraycopy(com.jcraft.jsch.Session,int,byte[],int,int)
      Src: com.jcraft.jsch.Session:1184,1
    - Dst: '[com.jcraft.jsch.IO].getByte(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1186,1
    - Dst: '[com.jcraft.jsch.Session].start_discard(com.jcraft.jsch.Buffer,com.jcraft.jsch.Cipher,com.jcraft.jsch.MAC,int,int)'
      Src: com.jcraft.jsch.Session:1192,1
    - Dst: '[com.jcraft.jsch.Cipher].getTagSize()'
      Src: com.jcraft.jsch.Session:1195,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.Session,int,int)
      Src: com.jcraft.jsch.Session:1199,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1205,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1205,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1206,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1206,1
    - Dst: '[com.jcraft.jsch.Session].start_discard(com.jcraft.jsch.Buffer,com.jcraft.jsch.Cipher,com.jcraft.jsch.MAC,int,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1208,1
    - Dst: '[com.jcraft.jsch.IO].getByte(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1211,1
    - Dst: '[com.jcraft.jsch.Cipher].updateAAD(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1216,1
    - Dst: '[com.jcraft.jsch.Cipher].doFinal(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.Session:1217,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1219,1
    - Dst: '[com.jcraft.jsch.Cipher].getTagSize()'
      Src: com.jcraft.jsch.Session:1222,1
    - Dst: '[com.jcraft.jsch.MAC].update(int)'
      Src: com.jcraft.jsch.Session:1224,1
    - Dst: '[com.jcraft.jsch.MAC].update(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1225,1
    - Dst: '[com.jcraft.jsch.MAC].doFinal(byte[],int)'
      Src: com.jcraft.jsch.Session:1226,1
    - Dst: '[com.jcraft.jsch.IO].getByte(byte[],int,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1228,1
    - Dst: '[com.jcraft.jsch.Util].arraysequals(byte[],byte[])'
      Src: com.jcraft.jsch.Session:1229,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:1230,1
    - Dst: '[com.jcraft.jsch.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.Session:1232,1
    - Dst: '[com.jcraft.jsch.IO].getByte(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1235,1
    - Dst: '[com.jcraft.jsch.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.Session:1238,1
    - Dst: '[com.jcraft.jsch.Session].start_discard(com.jcraft.jsch.Buffer,com.jcraft.jsch.Cipher,com.jcraft.jsch.MAC,int,int)'
      Src: com.jcraft.jsch.Session:1244,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.Session,int,int)
      Src: com.jcraft.jsch.Session:1252,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1258,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1258,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1259,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1259,1
    - Dst: '[com.jcraft.jsch.Session].start_discard(com.jcraft.jsch.Buffer,com.jcraft.jsch.Cipher,com.jcraft.jsch.MAC,int,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1261,1
    - Dst: '[com.jcraft.jsch.IO].getByte(byte[],int,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1265,1
    - Dst: '[com.jcraft.jsch.Cipher].update(byte[],int,com.jcraft.jsch.Session,byte[],int)'
      Src: com.jcraft.jsch.Session:1268,1
    - Dst: '[com.jcraft.jsch.MAC].update(int)'
      Src: com.jcraft.jsch.Session:1273,1
    - Dst: '[com.jcraft.jsch.MAC].update(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1274,1
    - Dst: '[com.jcraft.jsch.MAC].doFinal(byte[],int)'
      Src: com.jcraft.jsch.Session:1275,1
    - Dst: '[com.jcraft.jsch.IO].getByte(byte[],int,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1277,1
    - Dst: '[com.jcraft.jsch.Util].arraysequals(byte[],byte[])'
      Src: com.jcraft.jsch.Session:1278,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.Session:1280,1
    - Dst: '[com.jcraft.jsch.Session].start_discard(com.jcraft.jsch.Buffer,com.jcraft.jsch.Cipher,com.jcraft.jsch.MAC,int,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1282,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexException].<init>(String)'
      Src: com.jcraft.jsch.Session:1290,1
    - Dst: '[com.jcraft.jsch.Compression].uncompress(byte[],int,int[])'
      Src: com.jcraft.jsch.Session:1297,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1302,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1302,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1303,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1303,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.Session:1309,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.Session:1312,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1313,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:1314,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1315,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.Session:1316,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.Session:1317,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.Session:1318,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.Session:1319,1
    - Dst: '[com.jcraft.jsch.JSchSessionDisconnectException].<init>(com.jcraft.jsch.Session,int,String,String)'
      Src: com.jcraft.jsch.Session:1320,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.Session:1328,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1329,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:1330,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1331,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1332,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1332,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1333,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1333,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.Session:1336,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1337,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:1338,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.Session:1345,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1346,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:1347,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1348,1
    - Dst: '[com.jcraft.jsch.Channel].getChannel(int)'
      Src: com.jcraft.jsch.Session:1348,1
    - Dst: '[com.jcraft.jsch.Buffer].getUInt()'
      Src: com.jcraft.jsch.Session:1351,1
    - Dst: '[com.jcraft.jsch.Channel].addRemoteWindowSize(long)'
      Src: com.jcraft.jsch.Session:1351,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.Session:1354,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1355,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:1356,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1360,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1360,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1361,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1361,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1366,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1366,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1367,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1367,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1372,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1372,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1373,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1373,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1377,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1377,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1378,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1378,1
    - Dst: '[com.jcraft.jsch.Buffer].getUInt()'
      Src: com.jcraft.jsch.Session:1381,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.Session:1383,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.Session:1384,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.Session:1385,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:1385,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.Session:1386,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1387,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1387,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1388,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1388,1
    - Dst: '[String].isEmpty()'
      Src: com.jcraft.jsch.Session:1391,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1396,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1396,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1397,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1397,1
    - Dst: '[com.jcraft.jsch.Util].split(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1401,1
    - Dst: '[com.jcraft.jsch.Session].initDeflater(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1409,1
    - Dst: '[com.jcraft.jsch.Session].initInflater(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1411,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.Session:1418,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 286
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Buffer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 1420
      start: 1136
    functionDepth: 4
    functionLinenumber: 1136
    functionLinenumberEnd: 1420
    functionName: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 5
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getUInt()'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Cipher].getTagSize()'
    - '[com.jcraft.jsch.Session].start_discard(com.jcraft.jsch.Buffer,com.jcraft.jsch.Cipher,com.jcraft.jsch.MAC,int,com.jcraft.jsch.Session)'
    - System.arraycopy(com.jcraft.jsch.Session,int,byte[],int,int)
    - '[com.jcraft.jsch.Channel].getChannel(int)'
    - '[com.jcraft.jsch.Cipher].doFinal(byte[],int,int,byte[],int)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Util].split(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.Cipher].update(byte[],int,com.jcraft.jsch.Session,byte[],int)'
    - '[com.jcraft.jsch.Cipher].isChaCha20()'
    - '[com.jcraft.jsch.JSchStrictKexException].<init>(String)'
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Cipher].update(byte[],int,int,byte[],int)'
    - '[com.jcraft.jsch.JSchSessionDisconnectException].<init>(com.jcraft.jsch.Session,int,String,String)'
    - '[com.jcraft.jsch.Util].arraysequals(byte[],byte[])'
    - System.arraycopy(byte[],int,com.jcraft.jsch.Session,int,int)
    - '[com.jcraft.jsch.Cipher].updateAAD(byte[],int,int)'
    - '[com.jcraft.jsch.IO].getByte(byte[],int,int)'
    - '[com.jcraft.jsch.MAC].update(byte[],int,int)'
    - '[com.jcraft.jsch.Compression].uncompress(byte[],int,int[])'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].reset()'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.MAC].isEtM()'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.Cipher].isAEAD()'
    - '[com.jcraft.jsch.Session].start_discard(com.jcraft.jsch.Buffer,com.jcraft.jsch.Cipher,com.jcraft.jsch.MAC,int,int)'
    - '[com.jcraft.jsch.Buffer].rewind()'
    - '[com.jcraft.jsch.Cipher].update(byte[],int,int,com.jcraft.jsch.Session,int)'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.MAC].doFinal(byte[],int)'
    - '[com.jcraft.jsch.IO].getByte(byte[],int,com.jcraft.jsch.Session)'
    - '[java.io.IOException].<init>(String)'
    - '[String].isEmpty()'
    - '[com.jcraft.jsch.Cipher].update(int)'
    - '[com.jcraft.jsch.Session].initDeflater(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.Buffer].getCommand()'
    - '[com.jcraft.jsch.Channel].addRemoteWindowSize(long)'
    - '[com.jcraft.jsch.Session].initInflater(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.Buffer].getShort()'
    - '[com.jcraft.jsch.MAC].update(int)'
    linkageType: ''
    returnType: com.jcraft.jsch.Buffer
    signature: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Cipher].isCBC()'
      Src: com.jcraft.jsch.Session:1424,1
    - Dst: '[com.jcraft.jsch.MAC].isEtM()'
      Src: com.jcraft.jsch.Session:1424,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:1425,1
    - Dst: '[com.jcraft.jsch.MAC].update(int)'
      Src: com.jcraft.jsch.Session:1429,1
    - Dst: '[com.jcraft.jsch.MAC].update(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1430,1
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.Session:1436,1
    - Dst: '[com.jcraft.jsch.IO].getByte(byte[],int,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1438,1
    - Dst: '[com.jcraft.jsch.MAC].update(byte[],int,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1440,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1446,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1446,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1447,1
    - Dst: e.getMessage()
      Src: com.jcraft.jsch.Session:1447,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1447,1
    - Dst: '[com.jcraft.jsch.MAC].doFinal(byte[],int)'
      Src: com.jcraft.jsch.Session:1452,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:1455,1
    - Dst: '[com.jcraft.jsch.JSchException].addSuppressed(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1457,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - buf
    - cipher
    - mac
    - mac_already
    - discard
    argTypes:
    - com.jcraft.jsch.Buffer
    - com.jcraft.jsch.Cipher
    - com.jcraft.jsch.MAC
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1460
      start: 1422
    functionDepth: 3
    functionLinenumber: 1422
    functionLinenumberEnd: 1460
    functionName: '[com.jcraft.jsch.Session].start_discard(com.jcraft.jsch.Buffer,com.jcraft.jsch.Cipher,com.jcraft.jsch.MAC,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSchException].addSuppressed(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Cipher].isCBC()'
    - e.getMessage()
    - '[com.jcraft.jsch.MAC].update(byte[],int,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.MAC].update(byte[],int,int)'
    - '[com.jcraft.jsch.MAC].doFinal(byte[],int)'
    - '[com.jcraft.jsch.IO].getByte(byte[],int,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Buffer].reset()'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.MAC].isEtM()'
    - '[com.jcraft.jsch.MAC].update(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].start_discard(com.jcraft.jsch.Buffer,com.jcraft.jsch.Cipher,com.jcraft.jsch.MAC,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1464
    functionName: '[com.jcraft.jsch.Session].getSessionId()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Session].getSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].updateKeys(com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.Session:1468,1
    - Dst: '[com.jcraft.jsch.KeyExchange].clearK()'
      Src: com.jcraft.jsch.Session:1470,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1475,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1475,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1476,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.KeyExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - kex
    argTypes:
    - com.jcraft.jsch.Buffer
    - com.jcraft.jsch.KeyExchange
    constantsTouched: []
    func_position:
      end: 1480
      start: 1466
    functionDepth: 3
    functionLinenumber: 1466
    functionLinenumberEnd: 1480
    functionName: '[com.jcraft.jsch.Session].receive_newkeys(com.jcraft.jsch.Buffer,com.jcraft.jsch.KeyExchange)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Session].updateKeys(com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.KeyExchange].clearK()'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].receive_newkeys(com.jcraft.jsch.Buffer,com.jcraft.jsch.KeyExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyExchange].getK()'
      Src: com.jcraft.jsch.Session:1483,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getH()'
      Src: com.jcraft.jsch.Session:1484,1
    - Dst: '[com.jcraft.jsch.KeyExchange].getHash()'
      Src: com.jcraft.jsch.Session:1485,1
    - Dst: System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:1489,1
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.Session:1500,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.Session:1501,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.Session:1502,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:1503,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.Session:1504,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1505,1
    - Dst: '[com.jcraft.jsch.HASH].digest()'
      Src: com.jcraft.jsch.Session:1506,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1511,1
    - Dst: '[com.jcraft.jsch.HASH].digest()'
      Src: com.jcraft.jsch.Session:1512,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1515,1
    - Dst: '[com.jcraft.jsch.HASH].digest()'
      Src: com.jcraft.jsch.Session:1516,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1519,1
    - Dst: '[com.jcraft.jsch.HASH].digest()'
      Src: com.jcraft.jsch.Session:1520,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1523,1
    - Dst: '[com.jcraft.jsch.HASH].digest()'
      Src: com.jcraft.jsch.Session:1524,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1527,1
    - Dst: '[com.jcraft.jsch.HASH].digest()'
      Src: com.jcraft.jsch.Session:1528,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1536,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.Session:1536,1
    - Dst: '[com.jcraft.jsch.Session].asSubclass()'
      Src: com.jcraft.jsch.Session:1536,1
    - Dst: '[com.jcraft.jsch.Session].getDeclaredConstructor()'
      Src: com.jcraft.jsch.Session:1537,1
    - Dst: '[com.jcraft.jsch.Session].newInstance()'
      Src: com.jcraft.jsch.Session:1537,1
    - Dst: '[com.jcraft.jsch.Session].getBlockSize()'
      Src: com.jcraft.jsch.Session:1538,1
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.Session:1539,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.Session:1540,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.Session:1541,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.Session:1542,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1543,1
    - Dst: '[com.jcraft.jsch.HASH].digest()'
      Src: com.jcraft.jsch.Session:1544,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:1546,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.Session,com.jcraft.jsch.Session,com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:1547,1
    - Dst: '[com.jcraft.jsch.Session].init(com.jcraft.jsch.Session,byte[],byte[])'
      Src: com.jcraft.jsch.Session:1550,1
    - Dst: '[com.jcraft.jsch.Session].getIVSize()'
      Src: com.jcraft.jsch.Session:1551,1
    - Dst: '[com.jcraft.jsch.Session].isAEAD()'
      Src: com.jcraft.jsch.Session:1553,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1555,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.Session:1555,1
    - Dst: '[com.jcraft.jsch.Session].asSubclass()'
      Src: com.jcraft.jsch.Session:1555,1
    - Dst: '[com.jcraft.jsch.Session].getDeclaredConstructor()'
      Src: com.jcraft.jsch.Session:1556,1
    - Dst: '[com.jcraft.jsch.Session].newInstance()'
      Src: com.jcraft.jsch.Session:1556,1
    - Dst: '[com.jcraft.jsch.Session].getBlockSize()'
      Src: com.jcraft.jsch.Session:1557,1
    - Dst: '[com.jcraft.jsch.Session].expandKey(com.jcraft.jsch.Buffer,byte[],byte[],byte[],com.jcraft.jsch.HASH,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1557,1
    - Dst: '[com.jcraft.jsch.Session].init(byte[])'
      Src: com.jcraft.jsch.Session:1558,1
    - Dst: '[com.jcraft.jsch.Session].getBlockSize()'
      Src: com.jcraft.jsch.Session:1560,1
    - Dst: '[com.jcraft.jsch.Session].getBlockSize()'
      Src: com.jcraft.jsch.Session:1561,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1565,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.Session:1565,1
    - Dst: '[com.jcraft.jsch.Session].asSubclass()'
      Src: com.jcraft.jsch.Session:1565,1
    - Dst: '[com.jcraft.jsch.Session].getDeclaredConstructor()'
      Src: com.jcraft.jsch.Session:1566,1
    - Dst: '[com.jcraft.jsch.Session].newInstance()'
      Src: com.jcraft.jsch.Session:1566,1
    - Dst: '[com.jcraft.jsch.Session].getBlockSize()'
      Src: com.jcraft.jsch.Session:1567,1
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.Session:1568,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.Session:1569,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.Session:1570,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.Session:1571,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1572,1
    - Dst: '[com.jcraft.jsch.HASH].digest()'
      Src: com.jcraft.jsch.Session:1573,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:1575,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.Session,com.jcraft.jsch.Session,com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:1576,1
    - Dst: '[com.jcraft.jsch.Session].init(com.jcraft.jsch.Session,byte[],byte[])'
      Src: com.jcraft.jsch.Session:1579,1
    - Dst: '[com.jcraft.jsch.Session].getIVSize()'
      Src: com.jcraft.jsch.Session:1580,1
    - Dst: '[com.jcraft.jsch.Session].isAEAD()'
      Src: com.jcraft.jsch.Session:1582,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1584,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.Session:1584,1
    - Dst: '[com.jcraft.jsch.Session].asSubclass()'
      Src: com.jcraft.jsch.Session:1584,1
    - Dst: '[com.jcraft.jsch.Session].getDeclaredConstructor()'
      Src: com.jcraft.jsch.Session:1585,1
    - Dst: '[com.jcraft.jsch.Session].newInstance()'
      Src: com.jcraft.jsch.Session:1585,1
    - Dst: '[com.jcraft.jsch.Session].getBlockSize()'
      Src: com.jcraft.jsch.Session:1586,1
    - Dst: '[com.jcraft.jsch.Session].expandKey(com.jcraft.jsch.Buffer,byte[],byte[],byte[],com.jcraft.jsch.HASH,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1586,1
    - Dst: '[com.jcraft.jsch.Session].init(byte[])'
      Src: com.jcraft.jsch.Session:1587,1
    - Dst: '[com.jcraft.jsch.Session].initDeflater(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1591,1
    - Dst: '[com.jcraft.jsch.Session].initInflater(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1594,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.Session:1598,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1598,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 127
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.KeyExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kex
    argTypes:
    - com.jcraft.jsch.KeyExchange
    constantsTouched: []
    func_position:
      end: 1601
      start: 1482
    functionDepth: 1
    functionLinenumber: 1482
    functionLinenumberEnd: 1601
    functionName: '[com.jcraft.jsch.Session].updateKeys(com.jcraft.jsch.KeyExchange)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Session].init(byte[])'
    - '[com.jcraft.jsch.Session].getIVSize()'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].asSubclass()'
    - '[com.jcraft.jsch.Session].init(com.jcraft.jsch.Session,byte[],byte[])'
    - e.toString()
    - '[com.jcraft.jsch.KeyExchange].getK()'
    - '[com.jcraft.jsch.Buffer].reset()'
    - '[com.jcraft.jsch.KeyExchange].getHash()'
    - System.arraycopy(byte[],int,com.jcraft.jsch.Session,com.jcraft.jsch.Session,com.jcraft.jsch.Session)
    - '[com.jcraft.jsch.HASH].update(byte[],int,int)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.KeyExchange].getH()'
    - System.arraycopy(byte[],int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
    - Class.forName(String)
    - '[com.jcraft.jsch.Session].expandKey(com.jcraft.jsch.Buffer,byte[],byte[],byte[],com.jcraft.jsch.HASH,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].newInstance()'
    - '[com.jcraft.jsch.Session].initDeflater(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].isAEAD()'
    - System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.Session)
    - '[com.jcraft.jsch.Session].getDeclaredConstructor()'
    - '[com.jcraft.jsch.Session].getBlockSize()'
    - '[com.jcraft.jsch.Session].initInflater(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].getConfig(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Buffer].putByte(byte[])'
    - '[com.jcraft.jsch.HASH].digest()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].updateKeys(com.jcraft.jsch.KeyExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.HASH].getBlockSize()'
      Src: com.jcraft.jsch.Session:1614,1
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.Session:1616,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.Session:1617,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.Session:1618,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1619,1
    - Dst: '[com.jcraft.jsch.HASH].update(byte[],int,int)'
      Src: com.jcraft.jsch.Session:1620,1
    - Dst: System.arraycopy(com.jcraft.jsch.Session,int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:1622,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.Session,com.jcraft.jsch.Session,int)
      Src: com.jcraft.jsch.Session:1623,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.HASH
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - buf
    - K
    - H
    - key
    - hash
    - required_length
    argTypes:
    - com.jcraft.jsch.Buffer
    - byte[]
    - byte[]
    - byte[]
    - com.jcraft.jsch.HASH
    - int
    constantsTouched: []
    func_position:
      end: 1628
      start: 1611
    functionDepth: 1
    functionLinenumber: 1611
    functionLinenumberEnd: 1628
    functionName: '[com.jcraft.jsch.Session].expandKey(com.jcraft.jsch.Buffer,byte[],byte[],byte[],com.jcraft.jsch.HASH,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.HASH].update(byte[],int,int)'
    - System.arraycopy(com.jcraft.jsch.Session,int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
    - '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.Session)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.Session,com.jcraft.jsch.Session,int)
    - '[com.jcraft.jsch.HASH].getBlockSize()'
    - '[com.jcraft.jsch.Buffer].reset()'
    - '[com.jcraft.jsch.Buffer].putByte(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Session].expandKey(com.jcraft.jsch.Buffer,byte[],byte[],byte[],com.jcraft.jsch.HASH,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].getTimeout()'
      Src: com.jcraft.jsch.Session:1631,1
    - Dst: System.currentTimeMillis()
      Src: com.jcraft.jsch.Session:1634,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:1635,1
    - Dst: Thread.sleep(int)
      Src: com.jcraft.jsch.Session:1638,1
    - Dst: '[com.jcraft.jsch.Channel].wait(int)'
      Src: com.jcraft.jsch.Session:1647,1
    - Dst: '[com.jcraft.jsch.Channel].isConnected()'
      Src: com.jcraft.jsch.Session:1663,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.Session:1664,1
    - Dst: '[com.jcraft.jsch.Packet].shift(int)'
      Src: com.jcraft.jsch.Session:1678,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.Session:1681,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.Session:1682,1
    - Dst: '[com.jcraft.jsch.Session]._write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:1689,1
    - Dst: '[com.jcraft.jsch.Packet].unshift(byte,int,int,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1693,1
    - Dst: '[com.jcraft.jsch.Session]._write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:1717,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.Channel
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - packet
    - c
    - length
    argTypes:
    - com.jcraft.jsch.Packet
    - com.jcraft.jsch.Channel
    - int
    constantsTouched: []
    func_position:
      end: 1718
      start: 1630
    functionDepth: 4
    functionLinenumber: 1630
    functionLinenumberEnd: 1718
    functionName: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet,com.jcraft.jsch.Channel,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session]._write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Channel].isConnected()'
    - '[com.jcraft.jsch.Packet].unshift(byte,int,int,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Packet].shift(int)'
    - '[com.jcraft.jsch.Buffer].getCommand()'
    - System.currentTimeMillis()
    - '[com.jcraft.jsch.Session].getTimeout()'
    - '[com.jcraft.jsch.Channel].wait(int)'
    - Thread.sleep(int)
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[java.io.IOException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet,com.jcraft.jsch.Channel,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].getTimeout()'
      Src: com.jcraft.jsch.Session:1722,1
    - Dst: System.currentTimeMillis()
      Src: com.jcraft.jsch.Session:1724,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:1725,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.Session:1727,1
    - Dst: Thread.sleep(int)
      Src: com.jcraft.jsch.Session:1736,1
    - Dst: '[com.jcraft.jsch.Session]._write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:1740,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Packet
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - packet
    argTypes:
    - com.jcraft.jsch.Packet
    constantsTouched: []
    func_position:
      end: 1741
      start: 1720
    functionDepth: 4
    functionLinenumber: 1720
    functionLinenumberEnd: 1741
    functionName: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 22
    functionsReached:
    - '[com.jcraft.jsch.Session]._write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Buffer].getCommand()'
    - System.currentTimeMillis()
    - '[com.jcraft.jsch.Session].getTimeout()'
    - Thread.sleep(int)
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.Session:1748,1
    - Dst: '[com.jcraft.jsch.Session].encode(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:1751,1
    - Dst: '[com.jcraft.jsch.IO].put(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:1753,1
    - Dst: '[com.jcraft.jsch.JSchStrictKexException].<init>(String)'
      Src: com.jcraft.jsch.Session:1755,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1763,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1763,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:1764,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:1764,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Packet
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - packet
    argTypes:
    - com.jcraft.jsch.Packet
    constantsTouched: []
    func_position:
      end: 1767
      start: 1743
    functionDepth: 3
    functionLinenumber: 1743
    functionLinenumberEnd: 1767
    functionName: '[com.jcraft.jsch.Session]._write(com.jcraft.jsch.Packet)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Session].encode(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Buffer].getCommand()'
    - '[com.jcraft.jsch.IO].put(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.JSchStrictKexException].<init>(String)'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session]._write(com.jcraft.jsch.Packet)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.Session:1775,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:1776,1
    - Dst: '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:1787,1
    - Dst: '[com.jcraft.jsch.Session].sendKeepAliveMsg()'
      Src: com.jcraft.jsch.Session:1791,1
    - Dst: '[com.jcraft.jsch.Buffer].getCommand()'
      Src: com.jcraft.jsch.Session:1801,1
    - Dst: kex.getState()
      Src: com.jcraft.jsch.Session:1803,1
    - Dst: System.currentTimeMillis()
      Src: com.jcraft.jsch.Session:1804,1
    - Dst: kex.next(com.jcraft.jsch.Buffer)
      Src: com.jcraft.jsch.Session:1805,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:1807,1
    - Dst: '[com.jcraft.jsch.Session].receive_kexinit(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:1815,1
    - Dst: '[com.jcraft.jsch.Session].send_newkeys()'
      Src: com.jcraft.jsch.Session:1820,1
    - Dst: '[com.jcraft.jsch.Session].receive_newkeys(com.jcraft.jsch.Buffer,com.jcraft.jsch.KeyExchange)'
      Src: com.jcraft.jsch.Session:1821,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1826,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.Session:1827,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.Session:1828,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1829,1
    - Dst: '[com.jcraft.jsch.Channel].getChannel(int)'
      Src: com.jcraft.jsch.Session:1830,1
    - Dst: '[com.jcraft.jsch.Buffer].getString(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1831,1
    - Dst: '[com.jcraft.jsch.Channel].write(byte[])'
      Src: com.jcraft.jsch.Session:1841,1
    - Dst: '[com.jcraft.jsch.Channel].disconnect()'
      Src: com.jcraft.jsch.Session:1845,1
    - Dst: '[com.jcraft.jsch.Channel].setLocalWindowSize(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1851,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Session:1853,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:1854,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.Session:1855,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Session:1855,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1856,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:1859,1
    - Dst: '[com.jcraft.jsch.Channel].setLocalWindowSize(int)'
      Src: com.jcraft.jsch.Session:1861,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1866,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:1867,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1868,1
    - Dst: '[com.jcraft.jsch.Channel].getChannel(int)'
      Src: com.jcraft.jsch.Session:1869,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1870,1
    - Dst: '[com.jcraft.jsch.Buffer].getString(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1871,1
    - Dst: '[com.jcraft.jsch.Channel].write_ext(byte[])'
      Src: com.jcraft.jsch.Session:1881,1
    - Dst: '[com.jcraft.jsch.Channel].setLocalWindowSize(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1884,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Session:1886,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:1887,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.Session:1888,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Session:1888,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1889,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:1892,1
    - Dst: '[com.jcraft.jsch.Channel].setLocalWindowSize(int)'
      Src: com.jcraft.jsch.Session:1894,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1899,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:1900,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1901,1
    - Dst: '[com.jcraft.jsch.Channel].getChannel(int)'
      Src: com.jcraft.jsch.Session:1902,1
    - Dst: '[com.jcraft.jsch.Buffer].getUInt()'
      Src: com.jcraft.jsch.Session:1906,1
    - Dst: '[com.jcraft.jsch.Channel].addRemoteWindowSize(long)'
      Src: com.jcraft.jsch.Session:1906,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1910,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:1911,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1912,1
    - Dst: '[com.jcraft.jsch.Channel].getChannel(int)'
      Src: com.jcraft.jsch.Session:1913,1
    - Dst: '[com.jcraft.jsch.Channel].eof_remote()'
      Src: com.jcraft.jsch.Session:1917,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1925,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:1926,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1927,1
    - Dst: '[com.jcraft.jsch.Channel].getChannel(int)'
      Src: com.jcraft.jsch.Session:1928,1
    - Dst: '[com.jcraft.jsch.Channel].disconnect()'
      Src: com.jcraft.jsch.Session:1931,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1938,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:1939,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1940,1
    - Dst: '[com.jcraft.jsch.Channel].getChannel(int)'
      Src: com.jcraft.jsch.Session:1941,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1942,1
    - Dst: '[com.jcraft.jsch.Buffer].getUInt()'
      Src: com.jcraft.jsch.Session:1943,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1944,1
    - Dst: '[com.jcraft.jsch.Channel].setRemoteWindowSize(long)'
      Src: com.jcraft.jsch.Session:1946,1
    - Dst: '[com.jcraft.jsch.Channel].setRemotePacketSize(int)'
      Src: com.jcraft.jsch.Session:1947,1
    - Dst: '[com.jcraft.jsch.Channel].setRecipient(int)'
      Src: com.jcraft.jsch.Session:1949,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1953,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:1954,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1955,1
    - Dst: '[com.jcraft.jsch.Channel].getChannel(int)'
      Src: com.jcraft.jsch.Session:1956,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1958,1
    - Dst: '[com.jcraft.jsch.Channel].setExitStatus(int)'
      Src: com.jcraft.jsch.Session:1961,1
    - Dst: '[com.jcraft.jsch.Channel].setRecipient(int)'
      Src: com.jcraft.jsch.Session:1964,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1968,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:1969,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1970,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.Session:1971,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.Session:1972,1
    - Dst: '[com.jcraft.jsch.Channel].getChannel(int)'
      Src: com.jcraft.jsch.Session:1973,1
    - Dst: (Util.byte2str(foo)).equals(String)
      Src: com.jcraft.jsch.Session:1976,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1977,1
    - Dst: '[com.jcraft.jsch.Channel].setExitStatus(int)'
      Src: com.jcraft.jsch.Session:1978,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Session:1982,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:1983,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.Session:1984,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Session:1984,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:1985,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:1991,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:1992,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.Session:1993,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.Session:1994,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:1995,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:1995,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:1996,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Session:1999,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:2000,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:2001,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Session:2001,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Session:2002,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:2003,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:2004,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:2005,1
    - Dst: '[com.jcraft.jsch.Channel].getChannel(String)'
      Src: com.jcraft.jsch.Session:2007,1
    - Dst: '[com.jcraft.jsch.Session].addChannel(com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.Session:2008,1
    - Dst: '[com.jcraft.jsch.Channel].getData(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:2009,1
    - Dst: '[com.jcraft.jsch.Channel].init()'
      Src: com.jcraft.jsch.Session:2010,1
    - Dst: '[com.jcraft.jsch.Session].getThreadFactory()'
      Src: com.jcraft.jsch.Session:2012,1
    - Dst: '[java.util.concurrent.ThreadFactory].newThread()'
      Src: com.jcraft.jsch.Session:2012,1
    - Dst: '[com.jcraft.jsch.Session].setName(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2013,1
    - Dst: '[com.jcraft.jsch.Session].setDaemon(boolean)'
      Src: com.jcraft.jsch.Session:2015,1
    - Dst: '[com.jcraft.jsch.Session].start()'
      Src: com.jcraft.jsch.Session:2017,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:2021,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:2022,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:2023,1
    - Dst: '[com.jcraft.jsch.Channel].getChannel(int)'
      Src: com.jcraft.jsch.Session:2024,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:2031,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:2032,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:2033,1
    - Dst: '[com.jcraft.jsch.Channel].getChannel(int)'
      Src: com.jcraft.jsch.Session:2034,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:2041,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:2042,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.Session:2043,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.Session:2044,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Session:2046,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:2047,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:2048,1
    - Dst: '[GlobalRequestReply].getThread()'
      Src: com.jcraft.jsch.Session:2053,1
    - Dst: '[GlobalRequestReply].setReply()'
      Src: com.jcraft.jsch.Session:2055,1
    - Dst: '[GlobalRequestReply].getPort()'
      Src: com.jcraft.jsch.Session:2056,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:2057,1
    - Dst: '[com.jcraft.jsch.Buffer].getShort()'
      Src: com.jcraft.jsch.Session:2058,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.Session:2059,1
    - Dst: '[GlobalRequestReply].setPort(int)'
      Src: com.jcraft.jsch.Session:2059,1
    - Dst: '[com.jcraft.jsch.Session].interrupt()'
      Src: com.jcraft.jsch.Session:2061,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.Session:2066,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:2071,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2071,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:2072,1
    - Dst: e.getMessage()
      Src: com.jcraft.jsch.Session:2073,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:2072,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: com.jcraft.jsch.Session:2079,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 254
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 1771
    functionDepth: 5
    functionLinenumber: 1771
    functionLinenumberEnd: 2088
    functionName: '[com.jcraft.jsch.Session].run()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].getUInt()'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Channel].getChannel(int)'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - kex.getState()
    - System.currentTimeMillis()
    - '[com.jcraft.jsch.Session].receive_kexinit(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Channel].getChannel(String)'
    - '[com.jcraft.jsch.Channel].getData(com.jcraft.jsch.Buffer)'
    - '[GlobalRequestReply].getPort()'
    - '[com.jcraft.jsch.Channel].setExitStatus(int)'
    - '[com.jcraft.jsch.Buffer].getString(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Channel].eof_remote()'
    - (Util.byte2str(foo)).equals(String)
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Session].send_newkeys()'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[java.util.concurrent.ThreadFactory].newThread()'
    - '[com.jcraft.jsch.Buffer].putByte(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[GlobalRequestReply].setReply()'
    - '[com.jcraft.jsch.Channel].setLocalWindowSize(int)'
    - '[com.jcraft.jsch.Channel].setRecipient(int)'
    - '[com.jcraft.jsch.Session].getThreadFactory()'
    - '[com.jcraft.jsch.Session].start()'
    - '[com.jcraft.jsch.Session].setName(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Channel].write_ext(byte[])'
    - '[com.jcraft.jsch.Session].setDaemon(boolean)'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Session].interrupt()'
    - '[com.jcraft.jsch.Channel].init()'
    - '[java.io.IOException].<init>(String)'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].addChannel(com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Session].sendKeepAliveMsg()'
    - '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[com.jcraft.jsch.Session].receive_newkeys(com.jcraft.jsch.Buffer,com.jcraft.jsch.KeyExchange)'
    - '[com.jcraft.jsch.Buffer].getCommand()'
    - '[com.jcraft.jsch.Channel].disconnect()'
    - '[com.jcraft.jsch.Channel].setLocalWindowSize(com.jcraft.jsch.Session)'
    - kex.next(com.jcraft.jsch.Buffer)
    - '[com.jcraft.jsch.Channel].addRemoteWindowSize(long)'
    - '[GlobalRequestReply].getThread()'
    - e.getMessage()
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Channel].setRemotePacketSize(int)'
    - '[GlobalRequestReply].setPort(int)'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.Buffer].getShort()'
    - '[com.jcraft.jsch.Channel].setRemoteWindowSize(long)'
    - '[com.jcraft.jsch.Channel].write(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:2095,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2095,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:2096,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2096,1
    - Dst: '[com.jcraft.jsch.Channel].disconnect()'
      Src: com.jcraft.jsch.Session:2104,1
    - Dst: '[com.jcraft.jsch.PortWatcher].delPort()'
      Src: com.jcraft.jsch.Session:2108,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort()'
      Src: com.jcraft.jsch.Session:2109,1
    - Dst: '[com.jcraft.jsch.ChannelX11].removeFakedCookie()'
      Src: com.jcraft.jsch.Session:2110,1
    - Dst: Thread.yield()
      Src: com.jcraft.jsch.Session:2114,1
    - Dst: '[Thread].interrupt()'
      Src: com.jcraft.jsch.Session:2115,1
    - Dst: '[java.io.InputStream].close()'
      Src: com.jcraft.jsch.Session:2123,1
    - Dst: '[java.io.OutputStream].close()'
      Src: com.jcraft.jsch.Session:2125,1
    - Dst: '[java.io.OutputStream].close()'
      Src: com.jcraft.jsch.Session:2127,1
    - Dst: '[java.net.Socket].close()'
      Src: com.jcraft.jsch.Session:2131,1
    - Dst: '[com.jcraft.jsch.Proxy].close()'
      Src: com.jcraft.jsch.Session:2134,1
    - Dst: '[com.jcraft.jsch.JSch].removeSession()'
      Src: com.jcraft.jsch.Session:2158,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2090
    functionDepth: 6
    functionLinenumber: 2090
    functionLinenumberEnd: 2161
    functionName: '[com.jcraft.jsch.Session].disconnect()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 25
    functionsReached:
    - Thread.yield()
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[Thread].interrupt()'
    - '[java.io.OutputStream].close()'
    - '[java.net.Socket].close()'
    - '[com.jcraft.jsch.Proxy].close()'
    - '[com.jcraft.jsch.Channel].disconnect()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[java.io.InputStream].close()'
    - '[com.jcraft.jsch.JSch].removeSession()'
    - '[com.jcraft.jsch.ChannelX11].removeFakedCookie()'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.PortWatcher].delPort()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].disconnect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(java.util.concurrent.ThreadFactory)'
      Src: com.jcraft.jsch.Session:2170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.ThreadFactory
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - threadFactory
    argTypes:
    - java.util.concurrent.ThreadFactory
    constantsTouched: []
    func_position:
      end: 2171
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2171
    functionName: '[com.jcraft.jsch.Session].setThreadFactory(java.util.concurrent.ThreadFactory)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(java.util.concurrent.ThreadFactory)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setThreadFactory(java.util.concurrent.ThreadFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.concurrent.ThreadFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2182
    functionName: '[com.jcraft.jsch.Session].getThreadFactory()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: java.util.concurrent.ThreadFactory
    signature: '[com.jcraft.jsch.Session].getThreadFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int)'
      Src: com.jcraft.jsch.Session:2196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - lport
    - host
    - rport
    argTypes:
    - int
    - String
    - int
    constantsTouched: []
    func_position:
      end: 2197
      start: 2195
    functionDepth: 1
    functionLinenumber: 2195
    functionLinenumberEnd: 2197
    functionName: '[com.jcraft.jsch.Session].setPortForwardingL(int,String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session].setPortForwardingL(int,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int,null)'
      Src: com.jcraft.jsch.Session:2215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - bind_address
    - lport
    - host
    - rport
    argTypes:
    - String
    - int
    - String
    - int
    constantsTouched: []
    func_position:
      end: 2216
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2216
    functionName: '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int,null)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int,com.jcraft.jsch.ServerSocketFactory,int)'
      Src: com.jcraft.jsch.Session:2236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - String
      - int
      - com.jcraft.jsch.ServerSocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - bind_address
    - lport
    - host
    - rport
    - ssf
    argTypes:
    - String
    - int
    - String
    - int
    - com.jcraft.jsch.ServerSocketFactory
    constantsTouched: []
    func_position:
      end: 2237
      start: 2234
    functionDepth: 2
    functionLinenumber: 2234
    functionLinenumberEnd: 2237
    functionName: '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int,com.jcraft.jsch.ServerSocketFactory)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int,com.jcraft.jsch.ServerSocketFactory,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int,com.jcraft.jsch.ServerSocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.PortWatcher].addPort(String,int,String,int,com.jcraft.jsch.ServerSocketFactory)'
      Src: com.jcraft.jsch.Session:2256,1
    - Dst: '[com.jcraft.jsch.PortWatcher].setConnectTimeout(int)'
      Src: com.jcraft.jsch.Session:2257,1
    - Dst: '[com.jcraft.jsch.Session].getThreadFactory()'
      Src: com.jcraft.jsch.Session:2258,1
    - Dst: '[java.util.concurrent.ThreadFactory].newThread()'
      Src: com.jcraft.jsch.Session:2258,1
    - Dst: '[com.jcraft.jsch.Session].setName(String)'
      Src: com.jcraft.jsch.Session:2259,1
    - Dst: '[com.jcraft.jsch.Session].setDaemon(boolean)'
      Src: com.jcraft.jsch.Session:2261,1
    - Dst: '[com.jcraft.jsch.Session].start()'
      Src: com.jcraft.jsch.Session:2263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - String
      - int
      - com.jcraft.jsch.ServerSocketFactory
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - bind_address
    - lport
    - host
    - rport
    - ssf
    - connectTimeout
    argTypes:
    - String
    - int
    - String
    - int
    - com.jcraft.jsch.ServerSocketFactory
    - int
    constantsTouched: []
    func_position:
      end: 2265
      start: 2254
    functionDepth: 1
    functionLinenumber: 2254
    functionLinenumberEnd: 2265
    functionName: '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int,com.jcraft.jsch.ServerSocketFactory,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Session].getThreadFactory()'
    - '[com.jcraft.jsch.Session].start()'
    - '[com.jcraft.jsch.PortWatcher].setConnectTimeout(int)'
    - '[com.jcraft.jsch.PortWatcher].addPort(String,int,String,int,com.jcraft.jsch.ServerSocketFactory)'
    - '[com.jcraft.jsch.Session].setDaemon(boolean)'
    - '[java.util.concurrent.ThreadFactory].newThread()'
    - '[com.jcraft.jsch.Session].setName(String)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int,com.jcraft.jsch.ServerSocketFactory,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.PortWatcher].addSocket(String,int,String,com.jcraft.jsch.ServerSocketFactory)'
      Src: com.jcraft.jsch.Session:2269,1
    - Dst: '[com.jcraft.jsch.PortWatcher].setConnectTimeout(int)'
      Src: com.jcraft.jsch.Session:2270,1
    - Dst: '[com.jcraft.jsch.Session].getThreadFactory()'
      Src: com.jcraft.jsch.Session:2271,1
    - Dst: '[java.util.concurrent.ThreadFactory].newThread()'
      Src: com.jcraft.jsch.Session:2271,1
    - Dst: '[com.jcraft.jsch.Session].setName(String)'
      Src: com.jcraft.jsch.Session:2272,1
    - Dst: '[com.jcraft.jsch.Session].setDaemon(boolean)'
      Src: com.jcraft.jsch.Session:2274,1
    - Dst: '[com.jcraft.jsch.Session].start()'
      Src: com.jcraft.jsch.Session:2276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - String
      - com.jcraft.jsch.ServerSocketFactory
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - bindAddress
    - lport
    - socketPath
    - ssf
    - connectTimeout
    argTypes:
    - String
    - int
    - String
    - com.jcraft.jsch.ServerSocketFactory
    - int
    constantsTouched: []
    func_position:
      end: 2278
      start: 2267
    functionDepth: 1
    functionLinenumber: 2267
    functionLinenumberEnd: 2278
    functionName: '[com.jcraft.jsch.Session].setSocketForwardingL(String,int,String,com.jcraft.jsch.ServerSocketFactory,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].getThreadFactory()'
    - '[com.jcraft.jsch.Session].start()'
    - '[com.jcraft.jsch.PortWatcher].setConnectTimeout(int)'
    - '[com.jcraft.jsch.PortWatcher].addSocket(String,int,String,com.jcraft.jsch.ServerSocketFactory)'
    - '[com.jcraft.jsch.Session].setDaemon(boolean)'
    - '[java.util.concurrent.ThreadFactory].newThread()'
    - '[com.jcraft.jsch.Session].setName(String)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session].setSocketForwardingL(String,int,String,com.jcraft.jsch.ServerSocketFactory,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].delPortForwardingL(String,int)'
      Src: com.jcraft.jsch.Session:2287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - lport
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2288
      start: 2286
    functionDepth: 1
    functionLinenumber: 2286
    functionLinenumberEnd: 2288
    functionName: '[com.jcraft.jsch.Session].delPortForwardingL(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].delPortForwardingL(String,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].delPortForwardingL(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.PortWatcher].delPort(String,int)'
      Src: com.jcraft.jsch.Session:2298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - bind_address
    - lport
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 2299
      start: 2297
    functionDepth: 0
    functionLinenumber: 2297
    functionLinenumberEnd: 2299
    functionName: '[com.jcraft.jsch.Session].delPortForwardingL(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.PortWatcher].delPort(String,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].delPortForwardingL(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.PortWatcher].getPortForwarding()'
      Src: com.jcraft.jsch.Session:2307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2308
    functionName: '[com.jcraft.jsch.Session].getPortForwardingL()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.PortWatcher].getPortForwarding()'
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.Session].getPortForwardingL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingR(null,int,String,int,com.jcraft.jsch.SocketFactory)'
      Src: com.jcraft.jsch.Session:2320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - rport
    - host
    - lport
    argTypes:
    - int
    - String
    - int
    constantsTouched: []
    func_position:
      end: 2321
      start: 2319
    functionDepth: 0
    functionLinenumber: 2319
    functionLinenumberEnd: 2321
    functionName: '[com.jcraft.jsch.Session].setPortForwardingR(int,String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setPortForwardingR(null,int,String,int,com.jcraft.jsch.SocketFactory)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setPortForwardingR(int,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingR(String,int,String,int,com.jcraft.jsch.SocketFactory)'
      Src: com.jcraft.jsch.Session:2339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - bind_address
    - rport
    - host
    - lport
    argTypes:
    - String
    - int
    - String
    - int
    constantsTouched: []
    func_position:
      end: 2340
      start: 2337
    functionDepth: 7
    functionLinenumber: 2337
    functionLinenumberEnd: 2340
    functionName: '[com.jcraft.jsch.Session].setPortForwardingR(String,int,String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setPortForwardingR(String,int,String,int,com.jcraft.jsch.SocketFactory)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setPortForwardingR(String,int,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingR(null,int,String,int,com.jcraft.jsch.SocketFactory)'
      Src: com.jcraft.jsch.Session:2354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - int
      - com.jcraft.jsch.SocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - rport
    - host
    - lport
    - sf
    argTypes:
    - int
    - String
    - int
    - com.jcraft.jsch.SocketFactory
    constantsTouched: []
    func_position:
      end: 2355
      start: 2352
    functionDepth: 0
    functionLinenumber: 2352
    functionLinenumberEnd: 2355
    functionName: '[com.jcraft.jsch.Session].setPortForwardingR(int,String,int,com.jcraft.jsch.SocketFactory)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setPortForwardingR(null,int,String,int,com.jcraft.jsch.SocketFactory)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setPortForwardingR(int,String,int,com.jcraft.jsch.SocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session]._setPortForwardingR(String,int)'
      Src: com.jcraft.jsch.Session:2374,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].addPort(String,int,int,String,int,com.jcraft.jsch.SocketFactory)'
      Src: com.jcraft.jsch.Session:2375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - String
      - int
      - com.jcraft.jsch.SocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - bind_address
    - rport
    - host
    - lport
    - sf
    argTypes:
    - String
    - int
    - String
    - int
    - com.jcraft.jsch.SocketFactory
    constantsTouched: []
    func_position:
      end: 2376
      start: 2372
    functionDepth: 6
    functionLinenumber: 2372
    functionLinenumberEnd: 2376
    functionName: '[com.jcraft.jsch.Session].setPortForwardingR(String,int,String,int,com.jcraft.jsch.SocketFactory)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].addPort(String,int,int,String,int,com.jcraft.jsch.SocketFactory)'
    - '[com.jcraft.jsch.Session]._setPortForwardingR(String,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setPortForwardingR(String,int,String,int,com.jcraft.jsch.SocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingR(null,int,String,null)'
      Src: com.jcraft.jsch.Session:2389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - rport
    - daemon
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 2390
      start: 2388
    functionDepth: 0
    functionLinenumber: 2388
    functionLinenumberEnd: 2390
    functionName: '[com.jcraft.jsch.Session].setPortForwardingR(int,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setPortForwardingR(null,int,String,null)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setPortForwardingR(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingR(null,int,String,Object[])'
      Src: com.jcraft.jsch.Session:2404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - Object[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - rport
    - daemon
    - arg
    argTypes:
    - int
    - String
    - Object[]
    constantsTouched: []
    func_position:
      end: 2405
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2405
    functionName: '[com.jcraft.jsch.Session].setPortForwardingR(int,String,Object[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setPortForwardingR(null,int,String,Object[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setPortForwardingR(int,String,Object[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session]._setPortForwardingR(String,int)'
      Src: com.jcraft.jsch.Session:2425,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].addPort(String,int,int,String,Object[])'
      Src: com.jcraft.jsch.Session:2426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - String
      - Object[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - bind_address
    - rport
    - daemon
    - arg
    argTypes:
    - String
    - int
    - String
    - Object[]
    constantsTouched: []
    func_position:
      end: 2427
      start: 2423
    functionDepth: 6
    functionLinenumber: 2423
    functionLinenumberEnd: 2427
    functionName: '[com.jcraft.jsch.Session].setPortForwardingR(String,int,String,Object[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session]._setPortForwardingR(String,int)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].addPort(String,int,int,String,Object[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setPortForwardingR(String,int,String,Object[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getPortForwarding()'
      Src: com.jcraft.jsch.Session:2435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2436
    functionName: '[com.jcraft.jsch.Session].getPortForwardingR()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getPortForwarding()'
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.Session].getPortForwardingR()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].split(String)'
      Src: com.jcraft.jsch.Session:2452,1
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.Session:2454,1
    - Dst: tmp[i].length()
      Src: com.jcraft.jsch.Session:2456,1
    - Dst: tmp[i].trim()
      Src: com.jcraft.jsch.Session:2458,1
    - Dst: '[java.util.Vector].addElement(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2458,1
    - Dst: '[StringBuilder].<init>()'
      Src: com.jcraft.jsch.Session:2460,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Session:2461,1
    - Dst: '[java.util.Vector].elementAt(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2462,1
    - Dst: '[StringBuilder].append(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2462,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Session:2463,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.Session:2464,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.Session:2466,1
    - Dst: '[com.jcraft.jsch.Session.Forwarding].<init>()'
      Src: com.jcraft.jsch.Session:2470,1
    - Dst: '[com.jcraft.jsch.Session].lastIndexOf(String)'
      Src: com.jcraft.jsch.Session:2472,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:2473,1
    - Dst: '[com.jcraft.jsch.Session].lastIndexOf(String)'
      Src: com.jcraft.jsch.Session:2475,1
    - Dst: '[com.jcraft.jsch.Session].substring(int)'
      Src: com.jcraft.jsch.Session:2475,1
    - Dst: Integer.parseInt(com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:2475,1
    - Dst: '[com.jcraft.jsch.Session].lastIndexOf(String)'
      Src: com.jcraft.jsch.Session:2476,1
    - Dst: '[com.jcraft.jsch.Session].substring(int,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2476,1
    - Dst: '[com.jcraft.jsch.Session].lastIndexOf(String)'
      Src: com.jcraft.jsch.Session:2477,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:2478,1
    - Dst: '[com.jcraft.jsch.Session].lastIndexOf(String)'
      Src: com.jcraft.jsch.Session:2479,1
    - Dst: '[com.jcraft.jsch.Session].substring(int)'
      Src: com.jcraft.jsch.Session:2479,1
    - Dst: '[com.jcraft.jsch.Session].lastIndexOf(String)'
      Src: com.jcraft.jsch.Session:2481,1
    - Dst: '[com.jcraft.jsch.Session].substring(int)'
      Src: com.jcraft.jsch.Session:2481,1
    - Dst: '[com.jcraft.jsch.Session].lastIndexOf(String)'
      Src: com.jcraft.jsch.Session:2483,1
    - Dst: '[com.jcraft.jsch.Session].substring(int,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2483,1
    - Dst: '[com.jcraft.jsch.Session].lastIndexOf(String)'
      Src: com.jcraft.jsch.Session:2484,1
    - Dst: '[com.jcraft.jsch.Session].lastIndexOf(String)'
      Src: com.jcraft.jsch.Session:2485,1
    - Dst: '[com.jcraft.jsch.Session].substring(int)'
      Src: com.jcraft.jsch.Session:2485,1
    - Dst: Integer.parseInt(com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:2485,1
    - Dst: '[com.jcraft.jsch.Session].lastIndexOf(String)'
      Src: com.jcraft.jsch.Session:2486,1
    - Dst: '[com.jcraft.jsch.Session].substring(int,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2486,1
    - Dst: '[com.jcraft.jsch.Session].length()'
      Src: com.jcraft.jsch.Session:2487,1
    - Dst: '[com.jcraft.jsch.Session].equals(String)'
      Src: com.jcraft.jsch.Session:2487,1
    - Dst: conf.equals(String)
      Src: com.jcraft.jsch.Session:2489,1
    - Dst: Integer.parseInt(com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:2493,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.Session:2497,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2497,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 76
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Forwarding
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - conf
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2500
      start: 2451
    functionDepth: 1
    functionLinenumber: 2451
    functionLinenumberEnd: 2500
    functionName: '[com.jcraft.jsch.Session].parseForwarding(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 3
    functionsReached:
    - '[String].split(String)'
    - '[StringBuilder].append(String)'
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.Session)'
    - tmp[i].length()
    - '[StringBuilder].append(com.jcraft.jsch.Session)'
    - tmp[i].trim()
    - Integer.parseInt(com.jcraft.jsch.Session)
    - e.toString()
    - '[com.jcraft.jsch.Session].equals(String)'
    - '[StringBuilder].<init>()'
    - '[com.jcraft.jsch.Session].length()'
    - '[java.util.Vector].size()'
    - '[java.util.Vector].elementAt(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session.Forwarding].<init>()'
    - '[StringBuilder].toString()'
    - '[java.util.Vector].<init>()'
    - conf.equals(String)
    - '[com.jcraft.jsch.Session].substring(int)'
    - '[com.jcraft.jsch.Session].lastIndexOf(String)'
    - '[java.util.Vector].addElement(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Session].substring(int,com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: Forwarding
    signature: '[com.jcraft.jsch.Session].parseForwarding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].parseForwarding(String)'
      Src: com.jcraft.jsch.Session:2514,1
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingL(com.jcraft.jsch.Session,com.jcraft.jsch.Session,com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - conf
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2516
      start: 2513
    functionDepth: 2
    functionLinenumber: 2513
    functionLinenumberEnd: 2516
    functionName: '[com.jcraft.jsch.Session].setPortForwardingL(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setPortForwardingL(com.jcraft.jsch.Session,com.jcraft.jsch.Session,com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].parseForwarding(String)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session].setPortForwardingL(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].parseForwarding(String)'
      Src: com.jcraft.jsch.Session:2531,1
    - Dst: '[com.jcraft.jsch.Session]._setPortForwardingR(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2532,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].addPort(com.jcraft.jsch.Session,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session,com.jcraft.jsch.Session,null)'
      Src: com.jcraft.jsch.Session:2533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - conf
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2536
      start: 2530
    functionDepth: 2
    functionLinenumber: 2530
    functionLinenumberEnd: 2536
    functionName: '[com.jcraft.jsch.Session].setPortForwardingR(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].addPort(com.jcraft.jsch.Session,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session,com.jcraft.jsch.Session,null)'
    - '[com.jcraft.jsch.Session]._setPortForwardingR(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].parseForwarding(String)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session].setPortForwardingR(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].<init>()'
      Src: com.jcraft.jsch.Session:2546,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].init()'
      Src: com.jcraft.jsch.Session:2547,1
    - Dst: '[com.jcraft.jsch.Session].addChannel(com.jcraft.jsch.ChannelDirectTCPIP)'
      Src: com.jcraft.jsch.Session:2548,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].setHost(String)'
      Src: com.jcraft.jsch.Session:2549,1
    - Dst: '[com.jcraft.jsch.ChannelDirectTCPIP].setPort(int)'
      Src: com.jcraft.jsch.Session:2550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Channel
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 2552
      start: 2545
    functionDepth: 3
    functionLinenumber: 2545
    functionLinenumberEnd: 2552
    functionName: '[com.jcraft.jsch.Session].getStreamForwarder(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelDirectTCPIP].<init>()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].setHost(String)'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].init()'
    - '[com.jcraft.jsch.ChannelDirectTCPIP].setPort(int)'
    - '[com.jcraft.jsch.Session].addChannel(com.jcraft.jsch.ChannelDirectTCPIP)'
    linkageType: ''
    returnType: com.jcraft.jsch.Channel
    signature: '[com.jcraft.jsch.Session].getStreamForwarder(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(int)'
      Src: com.jcraft.jsch.Session:2589,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:2590,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].normalize(String)'
      Src: com.jcraft.jsch.Session:2592,1
    - Dst: Thread.currentThread()
      Src: com.jcraft.jsch.Session:2594,1
    - Dst: '[GlobalRequestReply].setThread(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2594,1
    - Dst: '[GlobalRequestReply].setPort(int)'
      Src: com.jcraft.jsch.Session:2595,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Session:2603,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:2604,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:2605,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:2605,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:2606,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:2607,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:2607,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Session:2608,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:2609,1
    - Dst: '[GlobalRequestReply].setThread(null)'
      Src: com.jcraft.jsch.Session:2611,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.Session:2612,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2612,1
    - Dst: '[GlobalRequestReply].getReply()'
      Src: com.jcraft.jsch.Session:2616,1
    - Dst: Thread.sleep(int)
      Src: com.jcraft.jsch.Session:2619,1
    - Dst: '[GlobalRequestReply].getReply()'
      Src: com.jcraft.jsch.Session:2623,1
    - Dst: '[GlobalRequestReply].setThread(null)'
      Src: com.jcraft.jsch.Session:2625,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:2627,1
    - Dst: '[GlobalRequestReply].getPort()'
      Src: com.jcraft.jsch.Session:2629,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - bind_address
    - rport
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 2632
      start: 2587
    functionDepth: 5
    functionLinenumber: 2587
    functionLinenumberEnd: 2632
    functionName: '[com.jcraft.jsch.Session]._setPortForwardingR(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - Thread.sleep(int)
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[GlobalRequestReply].getPort()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - Thread.currentThread()
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - e.toString()
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[GlobalRequestReply].setThread(com.jcraft.jsch.Session)'
    - '[GlobalRequestReply].getReply()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[GlobalRequestReply].setThread(null)'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].normalize(String)'
    - '[GlobalRequestReply].setPort(int)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.Buffer].<init>(int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session]._setPortForwardingR(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].delPortForwardingR(null,int)'
      Src: com.jcraft.jsch.Session:2640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rport
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2641
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2641
    functionName: '[com.jcraft.jsch.Session].delPortForwardingR(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].delPortForwardingR(null,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].delPortForwardingR(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(String,int)'
      Src: com.jcraft.jsch.Session:2651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - bind_address
    - rport
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 2652
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2652
    functionName: '[com.jcraft.jsch.Session].delPortForwardingR(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(String,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].delPortForwardingR(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:2656,1
    - Dst: odeflater.end()
      Src: com.jcraft.jsch.Session:2659,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:2663,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:2665,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:2665,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.Session:2667,1
    - Dst: '[com.jcraft.jsch.Session].asSubclass()'
      Src: com.jcraft.jsch.Session:2667,1
    - Dst: '[com.jcraft.jsch.Session].getDeclaredConstructor()'
      Src: com.jcraft.jsch.Session:2668,1
    - Dst: '[com.jcraft.jsch.Session].newInstance()'
      Src: com.jcraft.jsch.Session:2668,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:2671,1
    - Dst: Integer.parseInt(String)
      Src: com.jcraft.jsch.Session:2671,1
    - Dst: '[com.jcraft.jsch.Session].init(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2674,1
    - Dst: ee.toString()
      Src: com.jcraft.jsch.Session:2676,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2676,1
    - Dst: odeflater.end()
      Src: com.jcraft.jsch.Session:2680,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - method
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2685
      start: 2654
    functionDepth: 2
    functionLinenumber: 2654
    functionLinenumberEnd: 2685
    functionName: '[com.jcraft.jsch.Session].initDeflater(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - odeflater.end()
    - '[com.jcraft.jsch.Session].asSubclass()'
    - ee.toString()
    - '[com.jcraft.jsch.Session].getDeclaredConstructor()'
    - Integer.parseInt(String)
    - '[com.jcraft.jsch.Session].init(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - Class.forName(String)
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Session].newInstance()'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].initDeflater(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:2689,1
    - Dst: oinflater.end()
      Src: com.jcraft.jsch.Session:2692,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:2696,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:2698,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:2698,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.Session:2700,1
    - Dst: '[com.jcraft.jsch.Session].asSubclass()'
      Src: com.jcraft.jsch.Session:2700,1
    - Dst: '[com.jcraft.jsch.Session].getDeclaredConstructor()'
      Src: com.jcraft.jsch.Session:2701,1
    - Dst: '[com.jcraft.jsch.Session].newInstance()'
      Src: com.jcraft.jsch.Session:2701,1
    - Dst: '[com.jcraft.jsch.Session].init(com.jcraft.jsch.Session,int)'
      Src: com.jcraft.jsch.Session:2702,1
    - Dst: ee.toString()
      Src: com.jcraft.jsch.Session:2704,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2704,1
    - Dst: oinflater.end()
      Src: com.jcraft.jsch.Session:2708,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - method
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2713
      start: 2687
    functionDepth: 2
    functionLinenumber: 2687
    functionLinenumberEnd: 2713
    functionName: '[com.jcraft.jsch.Session].initInflater(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].asSubclass()'
    - ee.toString()
    - '[com.jcraft.jsch.Session].getDeclaredConstructor()'
    - oinflater.end()
    - Class.forName(String)
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Session].newInstance()'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.Session].init(com.jcraft.jsch.Session,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].initInflater(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Channel].setSession()'
      Src: com.jcraft.jsch.Session:2716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Channel
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - com.jcraft.jsch.Channel
    constantsTouched: []
    func_position:
      end: 2717
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2717
    functionName: '[com.jcraft.jsch.Session].addChannel(com.jcraft.jsch.Channel)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Channel].setSession()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].addChannel(com.jcraft.jsch.Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2721
      start: 2719
    functionDepth: 0
    functionLinenumber: 2719
    functionLinenumberEnd: 2721
    functionName: '[com.jcraft.jsch.Session].getServerSigAlgs()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.Session].getServerSigAlgs()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Proxy
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - com.jcraft.jsch.Proxy
    constantsTouched: []
    func_position:
      end: 2725
      start: 2723
    functionDepth: 0
    functionLinenumber: 2723
    functionLinenumberEnd: 2725
    functionName: '[com.jcraft.jsch.Session].setProxy(com.jcraft.jsch.Proxy)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setProxy(com.jcraft.jsch.Proxy)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2729
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2729
    functionName: '[com.jcraft.jsch.Session].setHost(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setHost(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2733
      start: 2731
    functionDepth: 0
    functionLinenumber: 2731
    functionLinenumberEnd: 2733
    functionName: '[com.jcraft.jsch.Session].setPort(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setPort(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - username
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2737
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2737
    functionName: '[com.jcraft.jsch.Session].setUserName(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setUserName(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.UserInfo
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - userinfo
    argTypes:
    - com.jcraft.jsch.UserInfo
    constantsTouched: []
    func_position:
      end: 2741
      start: 2739
    functionDepth: 0
    functionLinenumber: 2739
    functionLinenumberEnd: 2741
    functionName: '[com.jcraft.jsch.Session].setUserInfo(com.jcraft.jsch.UserInfo)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setUserInfo(com.jcraft.jsch.UserInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.UserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2745
      start: 2743
    functionDepth: 0
    functionLinenumber: 2743
    functionLinenumberEnd: 2745
    functionName: '[com.jcraft.jsch.Session].getUserInfo()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.UserInfo
    signature: '[com.jcraft.jsch.Session].getUserInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - in
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 2749
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2749
    functionName: '[com.jcraft.jsch.Session].setInputStream(java.io.InputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setInputStream(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - out
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 2753
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2753
    functionName: '[com.jcraft.jsch.Session].setOutputStream(java.io.OutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setOutputStream(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelX11].setHost(String)'
      Src: com.jcraft.jsch.Session:2756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2757
      start: 2755
    functionDepth: 1
    functionLinenumber: 2755
    functionLinenumberEnd: 2757
    functionName: '[com.jcraft.jsch.Session].setX11Host(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelX11].setHost(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setX11Host(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelX11].setPort(int)'
      Src: com.jcraft.jsch.Session:2760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 1
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '[com.jcraft.jsch.Session].setX11Port(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelX11].setPort(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setX11Port(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelX11].setCookie(String)'
      Src: com.jcraft.jsch.Session:2764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2765
      start: 2763
    functionDepth: 2
    functionLinenumber: 2763
    functionLinenumberEnd: 2765
    functionName: '[com.jcraft.jsch.Session].setX11Cookie(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.ChannelX11].setCookie(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setX11Cookie(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:2769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - password
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2770
      start: 2767
    functionDepth: 1
    functionLinenumber: 2767
    functionLinenumberEnd: 2770
    functionName: '[com.jcraft.jsch.Session].setPassword(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:2775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - password
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 2777
      start: 2772
    functionDepth: 0
    functionLinenumber: 2772
    functionLinenumberEnd: 2777
    functionName: '[com.jcraft.jsch.Session].setPassword(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.Session)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setPassword(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Hashtable].<init>()'
      Src: com.jcraft.jsch.Session:2780,1
    - Dst: '[java.util.Properties].stringPropertyNames()'
      Src: com.jcraft.jsch.Session:2781,1
    - Dst: '[java.util.Properties].getProperty(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2782,1
    - Dst: '[java.util.Hashtable].put(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2782,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(java.util.Hashtable)'
      Src: com.jcraft.jsch.Session:2784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Properties
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - newconf
    argTypes:
    - java.util.Properties
    constantsTouched: []
    func_position:
      end: 2785
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2785
    functionName: '[com.jcraft.jsch.Session].setConfig(java.util.Properties)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[java.util.Properties].stringPropertyNames()'
    - '[java.util.Properties].getProperty(com.jcraft.jsch.Session)'
    - '[java.util.Hashtable].<init>()'
    - '[java.util.Hashtable].put(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].setConfig(java.util.Hashtable)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setConfig(java.util.Properties)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Hashtable].<init>()'
      Src: com.jcraft.jsch.Session:2790,1
    - Dst: '[java.util.Hashtable<String,String>].keys()'
      Src: com.jcraft.jsch.Session:2791,1
    - Dst: '[com.jcraft.jsch.Session].hasMoreElements()'
      Src: com.jcraft.jsch.Session:2791,1
    - Dst: '[com.jcraft.jsch.Session].nextElement()'
      Src: com.jcraft.jsch.Session:2792,1
    - Dst: '[com.jcraft.jsch.Session].equals(String)'
      Src: com.jcraft.jsch.Session:2794,1
    - Dst: '[java.util.Hashtable<String,String>].get(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2795,1
    - Dst: '[java.util.Hashtable].put(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Hashtable<String,String>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - newconf
    argTypes:
    - java.util.Hashtable<String,String>
    constantsTouched: []
    func_position:
      end: 2799
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2799
    functionName: '[com.jcraft.jsch.Session].setConfig(java.util.Hashtable<String,String>)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].hasMoreElements()'
    - '[java.util.Hashtable<String,String>].get(com.jcraft.jsch.Session)'
    - '[java.util.Hashtable].<init>()'
    - '[java.util.Hashtable].put(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[java.util.Hashtable<String,String>].keys()'
    - '[com.jcraft.jsch.Session].nextElement()'
    - '[com.jcraft.jsch.Session].equals(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setConfig(java.util.Hashtable<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Hashtable].<init>()'
      Src: com.jcraft.jsch.Session:2804,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:2806,1
    - Dst: '[java.util.Hashtable].put(String,String)'
      Src: com.jcraft.jsch.Session:2807,1
    - Dst: '[java.util.Hashtable].put(String,String)'
      Src: com.jcraft.jsch.Session:2809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 2812
      start: 2801
    functionDepth: 1
    functionLinenumber: 2801
    functionLinenumberEnd: 2812
    functionName: '[com.jcraft.jsch.Session].setConfig(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 89
    functionsReached:
    - '[String].equals(String)'
    - '[java.util.Hashtable].put(String,String)'
    - '[java.util.Hashtable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setConfig(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:2815,1
    - Dst: '[java.util.Hashtable<String,String>].get(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2820,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2824,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2828
      start: 2814
    functionDepth: 0
    functionLinenumber: 2814
    functionLinenumberEnd: 2828
    functionName: '[com.jcraft.jsch.Session].getConfig(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 26
    functionsReached:
    - '[String].equals(String)'
    - '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.Session)'
    - '[java.util.Hashtable<String,String>].get(com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Session].getConfig(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.SocketFactory
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sfactory
    argTypes:
    - com.jcraft.jsch.SocketFactory
    constantsTouched: []
    func_position:
      end: 2832
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2832
    functionName: '[com.jcraft.jsch.Session].setSocketFactory(com.jcraft.jsch.SocketFactory)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setSocketFactory(com.jcraft.jsch.SocketFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2836
      start: 2834
    functionDepth: 0
    functionLinenumber: 2834
    functionLinenumberEnd: 2836
    functionName: '[com.jcraft.jsch.Session].isConnected()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Session].isConnected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2838
    functionDepth: 0
    functionLinenumber: 2838
    functionLinenumberEnd: 2840
    functionName: '[com.jcraft.jsch.Session].getTimeout()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session].getTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.Session:2845,1
    - Dst: '[java.net.Socket].setSoTimeout(int)'
      Src: com.jcraft.jsch.Session:2851,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.Session:2854,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2854,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2856
      start: 2842
    functionDepth: 1
    functionLinenumber: 2842
    functionLinenumberEnd: 2856
    functionName: '[com.jcraft.jsch.Session].setTimeout(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 17
    functionsReached:
    - '[java.net.Socket].setSoTimeout(int)'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.Session,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - e.toString()
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setTimeout(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.Session:2859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2860
      start: 2858
    functionDepth: 1
    functionLinenumber: 2858
    functionLinenumberEnd: 2860
    functionName: '[com.jcraft.jsch.Session].getServerVersion()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Session].getServerVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.Session:2863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2864
      start: 2862
    functionDepth: 1
    functionLinenumber: 2862
    functionLinenumberEnd: 2864
    functionName: '[com.jcraft.jsch.Session].getClientVersion()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Session].getClientVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.Session:2867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cv
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2868
      start: 2866
    functionDepth: 1
    functionLinenumber: 2866
    functionLinenumberEnd: 2868
    functionName: '[com.jcraft.jsch.Session].setClientVersion(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setClientVersion(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.Session:2871,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:2872,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Session:2873,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:2874,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:2875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2876
      start: 2870
    functionDepth: 5
    functionLinenumber: 2870
    functionLinenumberEnd: 2876
    functionName: '[com.jcraft.jsch.Session].sendIgnore()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].sendIgnore()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.Session:2881,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:2882,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Session:2883,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:2884,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:2885,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:2886,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:2887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2888
      start: 2880
    functionDepth: 5
    functionLinenumber: 2880
    functionLinenumberEnd: 2888
    functionName: '[com.jcraft.jsch.Session].sendKeepAliveMsg()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].sendKeepAliveMsg()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.Session:2893,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.Session:2894,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.Session:2895,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:2896,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.Session:2897,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.Session:2898,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Session:2899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2892
    functionDepth: 5
    functionLinenumber: 2892
    functionLinenumberEnd: 2900
    functionName: '[com.jcraft.jsch.Session].noMoreSessionChannels()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].noMoreSessionChannels()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2906
      start: 2904
    functionDepth: 0
    functionLinenumber: 2904
    functionLinenumberEnd: 2906
    functionName: '[com.jcraft.jsch.Session].getHostKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.Session].getHostKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2910
      start: 2908
    functionDepth: 0
    functionLinenumber: 2908
    functionLinenumberEnd: 2910
    functionName: '[com.jcraft.jsch.Session].getHost()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Session].getHost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2914
      start: 2912
    functionDepth: 0
    functionLinenumber: 2912
    functionLinenumberEnd: 2914
    functionName: '[com.jcraft.jsch.Session].getUserName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Session].getUserName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2916
    functionDepth: 0
    functionLinenumber: 2916
    functionLinenumberEnd: 2918
    functionName: '[com.jcraft.jsch.Session].getPort()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session].getPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - hostKeyAlias
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 2922
      start: 2920
    functionDepth: 0
    functionLinenumber: 2920
    functionLinenumberEnd: 2922
    functionName: '[com.jcraft.jsch.Session].setHostKeyAlias(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setHostKeyAlias(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2926
      start: 2924
    functionDepth: 0
    functionLinenumber: 2924
    functionLinenumberEnd: 2926
    functionName: '[com.jcraft.jsch.Session].getHostKeyAlias()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Session].getHostKeyAlias()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].setTimeout(int)'
      Src: com.jcraft.jsch.Session:2936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - interval
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2938
      start: 2935
    functionDepth: 2
    functionLinenumber: 2935
    functionLinenumberEnd: 2938
    functionName: '[com.jcraft.jsch.Session].setServerAliveInterval(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setTimeout(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setServerAliveInterval(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2947
      start: 2945
    functionDepth: 0
    functionLinenumber: 2945
    functionLinenumberEnd: 2947
    functionName: '[com.jcraft.jsch.Session].getServerAliveInterval()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session].getServerAliveInterval()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2959
      start: 2957
    functionDepth: 0
    functionLinenumber: 2957
    functionLinenumberEnd: 2959
    functionName: '[com.jcraft.jsch.Session].setServerAliveCountMax(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setServerAliveCountMax(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2966
    functionDepth: 0
    functionLinenumber: 2966
    functionLinenumberEnd: 2968
    functionName: '[com.jcraft.jsch.Session].getServerAliveCountMax()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session].getServerAliveCountMax()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - enable
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 2972
      start: 2970
    functionDepth: 0
    functionLinenumber: 2970
    functionLinenumberEnd: 2972
    functionName: '[com.jcraft.jsch.Session].setDaemonThread(boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setDaemonThread(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.Session:2975,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:2978,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2978,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:2979,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:2979,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:2982,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:2983,1
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.Session:2985,1
    - Dst: '[com.jcraft.jsch.Util].split(String,String)'
      Src: com.jcraft.jsch.Session:2986,1
    - Dst: '[String].indexOf(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2989,1
    - Dst: '[String].indexOf(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2989,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2991,1
    - Dst: '[com.jcraft.jsch.Session].checkCipher(String)'
      Src: com.jcraft.jsch.Session:2991,1
    - Dst: '[java.util.Vector].addElement(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:2992,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Session:2995,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Session:2997,1
    - Dst: '[java.util.Vector].toArray()'
      Src: com.jcraft.jsch.Session:2998,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Session:2998,1
    - Dst: System.arraycopy(com.jcraft.jsch.Session,int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:2998,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:3000,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3000,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:3002,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:3002,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ciphers
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 3007
      start: 2974
    functionDepth: 3
    functionLinenumber: 2974
    functionLinenumberEnd: 3007
    functionName: '[com.jcraft.jsch.Session].checkCiphers(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[String].length()'
    - '[java.util.Vector].size()'
    - '[com.jcraft.jsch.Session].checkCipher(String)'
    - System.arraycopy(com.jcraft.jsch.Session,int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
    - '[java.util.Vector].toArray()'
    - '[java.util.Vector].addElement(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Util].split(String,String)'
    - '[com.jcraft.jsch.Session].getConfig(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[String].indexOf(com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.Session].checkCiphers(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.Session:3011,1
    - Dst: '[com.jcraft.jsch.Session].asSubclass()'
      Src: com.jcraft.jsch.Session:3011,1
    - Dst: '[com.jcraft.jsch.Session].getDeclaredConstructor()'
      Src: com.jcraft.jsch.Session:3012,1
    - Dst: '[com.jcraft.jsch.Session].newInstance()'
      Src: com.jcraft.jsch.Session:3012,1
    - Dst: '[com.jcraft.jsch.Session].init(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3013,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 3018
      start: 3009
    functionDepth: 0
    functionLinenumber: 3009
    functionLinenumberEnd: 3018
    functionName: '[com.jcraft.jsch.Session].checkCipher(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Session].asSubclass()'
    - '[com.jcraft.jsch.Session].init(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].getDeclaredConstructor()'
    - Class.forName(String)
    - '[com.jcraft.jsch.Session].newInstance()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Session].checkCipher(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.Session:3021,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:3024,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3024,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:3025,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:3025,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:3028,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:3029,1
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.Session:3031,1
    - Dst: '[com.jcraft.jsch.Util].split(String,String)'
      Src: com.jcraft.jsch.Session:3032,1
    - Dst: '[String].indexOf(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3035,1
    - Dst: '[String].indexOf(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3035,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3037,1
    - Dst: '[com.jcraft.jsch.Session].checkMac(String)'
      Src: com.jcraft.jsch.Session:3037,1
    - Dst: '[java.util.Vector].addElement(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3038,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Session:3041,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Session:3043,1
    - Dst: '[java.util.Vector].toArray()'
      Src: com.jcraft.jsch.Session:3044,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Session:3044,1
    - Dst: System.arraycopy(com.jcraft.jsch.Session,int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:3044,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:3046,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3046,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:3048,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:3048,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - macs
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 3053
      start: 3020
    functionDepth: 3
    functionLinenumber: 3020
    functionLinenumberEnd: 3053
    functionName: '[com.jcraft.jsch.Session].checkMacs(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[String].length()'
    - '[java.util.Vector].size()'
    - System.arraycopy(com.jcraft.jsch.Session,int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
    - '[java.util.Vector].toArray()'
    - '[com.jcraft.jsch.Session].checkMac(String)'
    - '[java.util.Vector].addElement(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Util].split(String,String)'
    - '[com.jcraft.jsch.Session].getConfig(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[String].indexOf(com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.Session].checkMacs(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.Session:3057,1
    - Dst: '[com.jcraft.jsch.Session].asSubclass()'
      Src: com.jcraft.jsch.Session:3057,1
    - Dst: '[com.jcraft.jsch.Session].getDeclaredConstructor()'
      Src: com.jcraft.jsch.Session:3058,1
    - Dst: '[com.jcraft.jsch.Session].newInstance()'
      Src: com.jcraft.jsch.Session:3058,1
    - Dst: '[com.jcraft.jsch.Session].init()'
      Src: com.jcraft.jsch.Session:3059,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - mac
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 3064
      start: 3055
    functionDepth: 0
    functionLinenumber: 3055
    functionLinenumberEnd: 3064
    functionName: '[com.jcraft.jsch.Session].checkMac(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Session].init()'
    - '[com.jcraft.jsch.Session].asSubclass()'
    - '[com.jcraft.jsch.Session].getDeclaredConstructor()'
    - Class.forName(String)
    - '[com.jcraft.jsch.Session].newInstance()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Session].checkMac(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.Session:3067,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:3070,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3070,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:3071,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:3071,1
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.Session:3074,1
    - Dst: '[com.jcraft.jsch.Util].split(String,String)'
      Src: com.jcraft.jsch.Session:3075,1
    - Dst: '[com.jcraft.jsch.Session].getConfig()'
      Src: com.jcraft.jsch.Session:3077,1
    - Dst: '[com.jcraft.jsch.Session].checkKex(String)'
      Src: com.jcraft.jsch.Session:3077,1
    - Dst: '[java.util.Vector].addElement()'
      Src: com.jcraft.jsch.Session:3078,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Session:3081,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Session:3083,1
    - Dst: '[java.util.Vector].toArray()'
      Src: com.jcraft.jsch.Session:3084,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Session:3084,1
    - Dst: System.arraycopy(com.jcraft.jsch.Session,int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:3084,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:3086,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3086,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:3088,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:3088,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kexes
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 3093
      start: 3066
    functionDepth: 3
    functionLinenumber: 3066
    functionLinenumberEnd: 3093
    functionName: '[com.jcraft.jsch.Session].checkKexes(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[String].length()'
    - '[com.jcraft.jsch.Session].checkKex(String)'
    - '[java.util.Vector].size()'
    - System.arraycopy(com.jcraft.jsch.Session,int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
    - '[java.util.Vector].toArray()'
    - '[java.util.Vector].addElement()'
    - '[com.jcraft.jsch.Util].split(String,String)'
    - '[com.jcraft.jsch.Session].getConfig()'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.Session].checkKexes(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.Session:3097,1
    - Dst: '[com.jcraft.jsch.Session].asSubclass()'
      Src: com.jcraft.jsch.Session:3097,1
    - Dst: '[com.jcraft.jsch.Session].getDeclaredConstructor()'
      Src: com.jcraft.jsch.Session:3098,1
    - Dst: '[com.jcraft.jsch.Session].newInstance()'
      Src: com.jcraft.jsch.Session:3098,1
    - Dst: '[com.jcraft.jsch.Session].doInit(com.jcraft.jsch.Session,null,null,null,null)'
      Src: com.jcraft.jsch.Session:3099,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - s
    - kex
    argTypes:
    - com.jcraft.jsch.Session
    - String
    constantsTouched: []
    func_position:
      end: 3104
      start: 3095
    functionDepth: 0
    functionLinenumber: 3095
    functionLinenumberEnd: 3104
    functionName: '[com.jcraft.jsch.Session].checkKex(com.jcraft.jsch.Session,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].asSubclass()'
    - '[com.jcraft.jsch.Session].getDeclaredConstructor()'
    - '[com.jcraft.jsch.Session].doInit(com.jcraft.jsch.Session,null,null,null,null)'
    - Class.forName(String)
    - '[com.jcraft.jsch.Session].newInstance()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Session].checkKex(com.jcraft.jsch.Session,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.Session:3107,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:3110,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3110,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:3111,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:3111,1
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.Session:3114,1
    - Dst: '[com.jcraft.jsch.Util].split(String,String)'
      Src: com.jcraft.jsch.Session:3115,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig()'
      Src: com.jcraft.jsch.Session:3119,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.Session:3119,1
    - Dst: '[com.jcraft.jsch.Session].asSubclass()'
      Src: com.jcraft.jsch.Session:3119,1
    - Dst: '[com.jcraft.jsch.Session].getDeclaredConstructor()'
      Src: com.jcraft.jsch.Session:3120,1
    - Dst: '[com.jcraft.jsch.Session].newInstance()'
      Src: com.jcraft.jsch.Session:3120,1
    - Dst: '[com.jcraft.jsch.Session].init()'
      Src: com.jcraft.jsch.Session:3121,1
    - Dst: '[java.util.Vector].addElement()'
      Src: com.jcraft.jsch.Session:3123,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Session:3126,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Session:3128,1
    - Dst: '[java.util.Vector].toArray()'
      Src: com.jcraft.jsch.Session:3129,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.Session:3129,1
    - Dst: System.arraycopy(com.jcraft.jsch.Session,int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:3129,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:3130,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3130,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.Session:3132,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
      Src: com.jcraft.jsch.Session:3132,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sigs
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 3136
      start: 3106
    functionDepth: 3
    functionLinenumber: 3106
    functionLinenumberEnd: 3136
    functionName: '[com.jcraft.jsch.Session].checkSignatures(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.Session,String)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[String].length()'
    - '[com.jcraft.jsch.Session].asSubclass()'
    - '[com.jcraft.jsch.Session].newInstance()'
    - '[com.jcraft.jsch.Session].init()'
    - '[java.util.Vector].size()'
    - System.arraycopy(com.jcraft.jsch.Session,int,com.jcraft.jsch.Session,int,com.jcraft.jsch.Session)
    - '[java.util.Vector].toArray()'
    - '[java.util.Vector].addElement()'
    - '[com.jcraft.jsch.JSch].getConfig()'
    - '[com.jcraft.jsch.Session].getDeclaredConstructor()'
    - '[com.jcraft.jsch.Util].split(String,String)'
    - Class.forName(String)
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.Session)'
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.Session].checkSignatures(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.IdentityRepository
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identityRepository
    argTypes:
    - com.jcraft.jsch.IdentityRepository
    constantsTouched: []
    func_position:
      end: 3147
      start: 3145
    functionDepth: 0
    functionLinenumber: 3145
    functionLinenumberEnd: 3147
    functionName: '[com.jcraft.jsch.Session].setIdentityRepository(com.jcraft.jsch.IdentityRepository)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setIdentityRepository(com.jcraft.jsch.IdentityRepository)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getIdentityRepository()'
      Src: com.jcraft.jsch.Session:3157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.IdentityRepository
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3159
      start: 3155
    functionDepth: 1
    functionLinenumber: 3155
    functionLinenumberEnd: 3159
    functionName: '[com.jcraft.jsch.Session].getIdentityRepository()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.JSch].getIdentityRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.IdentityRepository
    signature: '[com.jcraft.jsch.Session].getIdentityRepository()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.HostKeyRepository
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - hostkeyRepository
    argTypes:
    - com.jcraft.jsch.HostKeyRepository
    constantsTouched: []
    func_position:
      end: 3169
      start: 3167
    functionDepth: 0
    functionLinenumber: 3167
    functionLinenumberEnd: 3169
    functionName: '[com.jcraft.jsch.Session].setHostKeyRepository(com.jcraft.jsch.HostKeyRepository)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setHostKeyRepository(com.jcraft.jsch.HostKeyRepository)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: com.jcraft.jsch.Session:3179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.HostKeyRepository
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3181
      start: 3177
    functionDepth: 2
    functionLinenumber: 3177
    functionLinenumberEnd: 3181
    functionName: '[com.jcraft.jsch.Session].getHostKeyRepository()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKeyRepository
    signature: '[com.jcraft.jsch.Session].getHostKeyRepository()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfigRepository()'
      Src: com.jcraft.jsch.Session:3199,1
    - Dst: '[com.jcraft.jsch.ConfigRepository].getConfig(String)'
      Src: com.jcraft.jsch.Session:3204,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getUser()'
      Src: com.jcraft.jsch.Session:3209,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getHostname()'
      Src: com.jcraft.jsch.Session:3214,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getPort()'
      Src: com.jcraft.jsch.Session:3218,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3222,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3223,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3224,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3225,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3226,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3227,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3228,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3229,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3230,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3231,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3232,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3234,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3235,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3236,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3237,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3238,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3239,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3240,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3242,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3243,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3244,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3245,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3246,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3247,1
    - Dst: '[com.jcraft.jsch.Session].checkConfig(Config,String)'
      Src: com.jcraft.jsch.Session:3248,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.Session:3250,1
    - Dst: '[com.jcraft.jsch.Session].setHostKeyAlias(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3252,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.Session:3254,1
    - Dst: '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
      Src: com.jcraft.jsch.Session:3256,1
    - Dst: '[com.jcraft.jsch.KnownHosts].setKnownHosts(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3257,1
    - Dst: '[com.jcraft.jsch.Session].setHostKeyRepository(com.jcraft.jsch.KnownHosts)'
      Src: com.jcraft.jsch.Session:3258,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValues(String)'
      Src: com.jcraft.jsch.Session:3261,1
    - Dst: '[com.jcraft.jsch.ConfigRepository].getConfig(String)'
      Src: com.jcraft.jsch.Session:3263,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValues(String)'
      Src: com.jcraft.jsch.Session:3263,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity()'
      Src: com.jcraft.jsch.Session:3266,1
    - Dst: '[com.jcraft.jsch.JSch].getIdentityRepository()'
      Src: com.jcraft.jsch.Session:3273,1
    - Dst: '[com.jcraft.jsch.IdentityRepositoryWrapper].<init>(com.jcraft.jsch.IdentityRepository,boolean)'
      Src: com.jcraft.jsch.Session:3273,1
    - Dst: ifile.equals()
      Src: com.jcraft.jsch.Session:3277,1
    - Dst: '[com.jcraft.jsch.IdentityFile].newInstance(com.jcraft.jsch.Session,null,InstanceLogger)'
      Src: com.jcraft.jsch.Session:3284,1
    - Dst: '[com.jcraft.jsch.IdentityRepositoryWrapper].add(com.jcraft.jsch.IdentityFile)'
      Src: com.jcraft.jsch.Session:3285,1
    - Dst: '[com.jcraft.jsch.Session].setIdentityRepository(com.jcraft.jsch.IdentityRepositoryWrapper)'
      Src: com.jcraft.jsch.Session:3287,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.Session:3291,1
    - Dst: Integer.parseInt(com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:3294,1
    - Dst: '[com.jcraft.jsch.Session].setServerAliveInterval(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3294,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.Session:3299,1
    - Dst: Integer.parseInt(com.jcraft.jsch.Session)
      Src: com.jcraft.jsch.Session:3302,1
    - Dst: '[com.jcraft.jsch.Session].setTimeout(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3302,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.Session:3307,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3309,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.Session:3312,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3314,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 94
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3316
      start: 3198
    functionDepth: 5
    functionLinenumber: 3198
    functionLinenumberEnd: 3316
    functionName: '[com.jcraft.jsch.Session].applyConfig()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.IdentityRepositoryWrapper].<init>(com.jcraft.jsch.IdentityRepository,boolean)'
    - '[com.jcraft.jsch.Session].setHostKeyRepository(com.jcraft.jsch.KnownHosts)'
    - '[com.jcraft.jsch.KnownHosts].setKnownHosts(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getPort()'
    - '[com.jcraft.jsch.IdentityRepositoryWrapper].add(com.jcraft.jsch.IdentityFile)'
    - '[com.jcraft.jsch.Session].setTimeout(com.jcraft.jsch.Session)'
    - Integer.parseInt(com.jcraft.jsch.Session)
    - '[com.jcraft.jsch.Session].setServerAliveInterval(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].setIdentityRepository(com.jcraft.jsch.IdentityRepositoryWrapper)'
    - '[com.jcraft.jsch.Session].setHostKeyAlias(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.JSch].getConfigRepository()'
    - '[com.jcraft.jsch.ConfigRepository.Config].getValues(String)'
    - '[com.jcraft.jsch.ConfigRepository].getConfig(String)'
    - '[com.jcraft.jsch.JSch].addIdentity()'
    - ifile.equals()
    - '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.IdentityFile].newInstance(com.jcraft.jsch.Session,null,InstanceLogger)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getHostname()'
    - '[com.jcraft.jsch.ConfigRepository.Config].getUser()'
    - '[com.jcraft.jsch.Session].checkConfig(Config,String)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
    - '[com.jcraft.jsch.JSch].getIdentityRepository()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].applyConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfigRepository()'
      Src: com.jcraft.jsch.Session:3319,1
    - Dst: '[com.jcraft.jsch.ConfigRepository].getConfig(String)'
      Src: com.jcraft.jsch.Session:3324,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.Session:3328,1
    - Dst: '[com.jcraft.jsch.Session].equals(String)'
      Src: com.jcraft.jsch.Session:3330,1
    - Dst: '[com.jcraft.jsch.ChannelSession].setAgentForwarding(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3330,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.Session:3333,1
    - Dst: '[com.jcraft.jsch.Session].equals(String)'
      Src: com.jcraft.jsch.Session:3335,1
    - Dst: '[com.jcraft.jsch.ChannelSession].setPty(com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.ChannelSession
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - com.jcraft.jsch.ChannelSession
    constantsTouched: []
    func_position:
      end: 3337
      start: 3318
    functionDepth: 1
    functionLinenumber: 3318
    functionLinenumberEnd: 3337
    functionName: '[com.jcraft.jsch.Session].applyConfigChannel(com.jcraft.jsch.ChannelSession)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.ChannelSession].setPty(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.ChannelSession].setAgentForwarding(com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.Session].equals(String)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
    - '[com.jcraft.jsch.JSch].getConfigRepository()'
    - '[com.jcraft.jsch.ConfigRepository].getConfig(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].applyConfigChannel(com.jcraft.jsch.ChannelSession)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.Session:3341,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:3341,1
    - Dst: '[com.jcraft.jsch.JSch].getConfigRepository()'
      Src: com.jcraft.jsch.Session:3344,1
    - Dst: '[com.jcraft.jsch.ConfigRepository].getConfig(String)'
      Src: com.jcraft.jsch.Session:3349,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValues(String)'
      Src: com.jcraft.jsch.Session:3351,1
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingL()'
      Src: com.jcraft.jsch.Session:3354,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValues(String)'
      Src: com.jcraft.jsch.Session:3358,1
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingR()'
      Src: com.jcraft.jsch.Session:3361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3364
      start: 3339
    functionDepth: 1
    functionLinenumber: 3339
    functionLinenumberEnd: 3364
    functionName: '[com.jcraft.jsch.Session].requestPortForwarding()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Session].setPortForwardingL()'
    - '[com.jcraft.jsch.Session].setPortForwardingR()'
    - '[com.jcraft.jsch.ConfigRepository.Config].getValues(String)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.JSch].getConfigRepository()'
    - '[com.jcraft.jsch.ConfigRepository].getConfig(String)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].requestPortForwarding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.Session:3367,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.Session:3368,1
    - Dst: '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
      Src: com.jcraft.jsch.Session:3369,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.Session)'
      Src: com.jcraft.jsch.Session:3371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - ConfigRepository.Config
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - config
    - key
    argTypes:
    - ConfigRepository.Config
    - String
    constantsTouched: []
    func_position:
      end: 3372
      start: 3366
    functionDepth: 1
    functionLinenumber: 3366
    functionLinenumberEnd: 3372
    functionName: '[com.jcraft.jsch.Session].checkConfig(ConfigRepository.Config,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Session].setConfig(String,com.jcraft.jsch.Session)'
    - '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].checkConfig(ConfigRepository.Config,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getInstanceLogger()'
      Src: com.jcraft.jsch.Session:3384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Logger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3385
      start: 3380
    functionDepth: 2
    functionLinenumber: 3380
    functionLinenumberEnd: 3385
    functionName: '[com.jcraft.jsch.Session].getLogger()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 31
    functionsReached:
    - '[com.jcraft.jsch.JSch].getInstanceLogger()'
    linkageType: ''
    returnType: com.jcraft.jsch.Logger
    signature: '[com.jcraft.jsch.Session].getLogger()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Logger
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - logger
    argTypes:
    - com.jcraft.jsch.Logger
    constantsTouched: []
    func_position:
      end: 3395
      start: 3393
    functionDepth: 0
    functionLinenumber: 3393
    functionLinenumberEnd: 3395
    functionName: '[com.jcraft.jsch.Session].setLogger(com.jcraft.jsch.Logger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session].setLogger(com.jcraft.jsch.Logger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _c2scipher.isChaCha20()
      Src: com.jcraft.jsch.Session:3406,1
    - Dst: _c2scipher.isAEAD()
      Src: com.jcraft.jsch.Session:3406,1
    - Dst: _c2scipher.getTagSize()
      Src: com.jcraft.jsch.Session:3407,1
    - Dst: _c2scipher.getTagSize()
      Src: com.jcraft.jsch.Session:3408,1
    - Dst: _c2smac.getBlockSize()
      Src: com.jcraft.jsch.Session:3411,1
    - Dst: _c2smac.getBlockSize()
      Src: com.jcraft.jsch.Session:3412,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - int
      - String[]
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.Cipher
      - com.jcraft.jsch.MAC
      - com.jcraft.jsch.MAC
      - byte[]
      - byte[]
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.Compression
      - com.jcraft.jsch.IO
      - java.net.Socket
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - Thread
      - Object
      - boolean
      - boolean
      - java.io.InputStream
      - java.io.OutputStream
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.SocketFactory
      - java.util.Hashtable<String,String>
      - com.jcraft.jsch.Proxy
      - com.jcraft.jsch.UserInfo
      - String
      - int
      - int
      - com.jcraft.jsch.IdentityRepository
      - com.jcraft.jsch.HostKeyRepository
      - String[]
      - boolean
      - boolean
      - long
      - int
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - com.jcraft.jsch.JSch
      - com.jcraft.jsch.Logger
      - java.util.concurrent.ThreadFactory
      - boolean
      - boolean
      - String[]
      - int[]
      - int[]
      - int
      - int
      - Runnable
      - GlobalRequestReply
      - byte[]
      - byte[]
      - com.jcraft.jsch.HostKey
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3418
      start: 3397
    functionDepth: 1
    functionLinenumber: 3397
    functionLinenumberEnd: 3418
    functionName: '[com.jcraft.jsch.Session].getBufferMargin()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached:
    - _c2smac.getBlockSize()
    - _c2scipher.getTagSize()
    - _c2scipher.isChaCha20()
    - _c2scipher.isAEAD()
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session].getBufferMargin()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - String
      - int
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Session.Forwarding
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Session.Forwarding].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Session.Forwarding
    signature: '[com.jcraft.jsch.Session.Forwarding].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Thread
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - thread
    argTypes:
    - Thread
    constantsTouched: []
    func_position:
      end: 2562
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2562
    functionName: '[com.jcraft.jsch.Session.GlobalRequestReply].setThread(Thread)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session.GlobalRequestReply].setThread(Thread)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Thread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2566
    functionName: '[com.jcraft.jsch.Session.GlobalRequestReply].getThread()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Thread
    signature: '[com.jcraft.jsch.Session.GlobalRequestReply].getThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - reply
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2570
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2570
    functionName: '[com.jcraft.jsch.Session.GlobalRequestReply].setReply(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session.GlobalRequestReply].setReply(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2572
    functionDepth: 0
    functionLinenumber: 2572
    functionLinenumberEnd: 2574
    functionName: '[com.jcraft.jsch.Session.GlobalRequestReply].getReply()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session.GlobalRequestReply].getReply()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2578
    functionName: '[com.jcraft.jsch.Session.GlobalRequestReply].getPort()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Session.GlobalRequestReply].getPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2582
      start: 2580
    functionDepth: 0
    functionLinenumber: 2580
    functionLinenumberEnd: 2582
    functionName: '[com.jcraft.jsch.Session.GlobalRequestReply].setPort(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Session.GlobalRequestReply].setPort(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Session.GlobalRequestReply
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Session.GlobalRequestReply].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Session.GlobalRequestReply
    signature: '[com.jcraft.jsch.Session.GlobalRequestReply].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:34,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:34,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:34,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:35,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:35,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:36,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:36,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,int,byte[])'
      Src: com.jcraft.jsch.HostKey:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - host
    - key
    argTypes:
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.HostKey].<init>(String,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKey.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.HostKey].<init>(String,int,byte[])'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.HostKey].<init>(String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:34,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:34,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:34,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:35,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:35,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:36,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:36,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,int,byte[],null)'
      Src: com.jcraft.jsch.HostKey:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - host
    - type
    - key
    argTypes:
    - String
    - int
    - byte[]
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[com.jcraft.jsch.HostKey].<init>(String,int,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKey.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.HostKey].<init>(String,int,byte[],null)'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.HostKey].<init>(String,int,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:34,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:34,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:34,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:35,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:35,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:36,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:36,1
    - Dst: '[com.jcraft.jsch.HostKey].<init>(String,String,int,byte[],String)'
      Src: com.jcraft.jsch.HostKey:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - host
    - type
    - key
    - comment
    argTypes:
    - String
    - int
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: '[com.jcraft.jsch.HostKey].<init>(String,int,byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKey.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.HostKey].<init>(String,String,int,byte[],String)'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.HostKey].<init>(String,int,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:34,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:34,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:34,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:35,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:35,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:36,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.HostKey:36,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.HostKey:86,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - int
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.HostKey
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - marker
    - host
    - type
    - key
    - comment
    argTypes:
    - String
    - String
    - int
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 93
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 93
    functionName: '[com.jcraft.jsch.HostKey].<init>(String,String,int,byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKey.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.HostKey
    signature: '[com.jcraft.jsch.HostKey].<init>(String,String,int,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[com.jcraft.jsch.HostKey].getHost()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKey.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.HostKey].getHost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].byte2str()'
      Src: com.jcraft.jsch.HostKey:102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: '[com.jcraft.jsch.HostKey].getType()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKey.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.HostKey].getType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].byte2str()'
      Src: com.jcraft.jsch.HostKey:109,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.HostKey:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: '[com.jcraft.jsch.HostKey].name2type(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKey.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Util].byte2str()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.HostKey].name2type(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.HostKey,boolean)'
      Src: com.jcraft.jsch.HostKey:117,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.HostKey:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: '[com.jcraft.jsch.HostKey].getKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKey.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.Util].toBase64(byte[],int,com.jcraft.jsch.HostKey,boolean)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.HostKey].getKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.HostKey:123,1
    - Dst: '[String].toLowerCase(com.jcraft.jsch.HostKey)'
      Src: com.jcraft.jsch.HostKey:123,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.HostKey)'
      Src: com.jcraft.jsch.HostKey:124,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.HostKey:124,1
    - Dst: '[com.jcraft.jsch.HostKey].asSubclass()'
      Src: com.jcraft.jsch.HostKey:124,1
    - Dst: '[com.jcraft.jsch.HostKey].getDeclaredConstructor()'
      Src: com.jcraft.jsch.HostKey:125,1
    - Dst: '[com.jcraft.jsch.HostKey].newInstance()'
      Src: com.jcraft.jsch.HostKey:125,1
    - Dst: '[com.jcraft.jsch.JSch].getInstanceLogger()'
      Src: com.jcraft.jsch.HostKey:127,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.HostKey)'
      Src: com.jcraft.jsch.HostKey:127,1
    - Dst: '[com.jcraft.jsch.JSch].getInstanceLogger()'
      Src: com.jcraft.jsch.HostKey:128,1
    - Dst: e.getMessage()
      Src: com.jcraft.jsch.HostKey:128,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.HostKey,String,com.jcraft.jsch.HostKey)'
      Src: com.jcraft.jsch.HostKey:128,1
    - Dst: '[com.jcraft.jsch.Util].getFingerPrint(com.jcraft.jsch.HostKey,byte[],boolean,boolean)'
      Src: com.jcraft.jsch.HostKey:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.JSch
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - jsch
    argTypes:
    - com.jcraft.jsch.JSch
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: '[com.jcraft.jsch.HostKey].getFingerPrint(com.jcraft.jsch.JSch)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKey.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.HostKey].asSubclass()'
    - '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.HostKey)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.HostKey,String,com.jcraft.jsch.HostKey)'
    - '[com.jcraft.jsch.HostKey].getDeclaredConstructor()'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.HostKey)'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[String].toLowerCase(com.jcraft.jsch.HostKey)'
    - e.getMessage()
    - '[com.jcraft.jsch.Util].getFingerPrint(com.jcraft.jsch.HostKey,byte[],boolean,boolean)'
    - Class.forName(String)
    - '[com.jcraft.jsch.JSch].getInstanceLogger()'
    - '[com.jcraft.jsch.HostKey].newInstance()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.HostKey].getFingerPrint(com.jcraft.jsch.JSch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: '[com.jcraft.jsch.HostKey].getComment()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKey.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.HostKey].getComment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: '[com.jcraft.jsch.HostKey].getMarker()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKey.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.HostKey].getMarker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.HostKey].isIncluded(String)'
      Src: com.jcraft.jsch.HostKey:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - _host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: '[com.jcraft.jsch.HostKey].isMatched(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKey.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.HostKey].isIncluded(String)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.HostKey].isMatched(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hosts.length()
      Src: com.jcraft.jsch.HostKey:149,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.HostKey:150,1
    - Dst: hosts.indexOf(char,com.jcraft.jsch.HostKey)
      Src: com.jcraft.jsch.HostKey:153,1
    - Dst: hosts.regionMatches(boolean,com.jcraft.jsch.HostKey,String,int,com.jcraft.jsch.HostKey)
      Src: com.jcraft.jsch.HostKey:157,1
    - Dst: hosts.regionMatches(boolean,com.jcraft.jsch.HostKey,String,int,com.jcraft.jsch.HostKey)
      Src: com.jcraft.jsch.HostKey:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - int
      - byte[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - _host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 166
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 166
    functionName: '[com.jcraft.jsch.HostKey].isIncluded(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/HostKey.java
    functionUses: 1
    functionsReached:
    - hosts.regionMatches(boolean,com.jcraft.jsch.HostKey,String,int,com.jcraft.jsch.HostKey)
    - hosts.length()
    - hosts.indexOf(char,com.jcraft.jsch.HostKey)
    - '[String].length()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.HostKey].isIncluded(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - String
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - op
    - src
    - dest
    - max
    argTypes:
    - int
    - String
    - String
    - long
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.SftpProgressMonitor].init(int,String,String,long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpProgressMonitor.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SftpProgressMonitor].init(int,String,String,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - count
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.SftpProgressMonitor].count(long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpProgressMonitor.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.SftpProgressMonitor].count(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.SftpProgressMonitor].end()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpProgressMonitor.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.SftpProgressMonitor].end()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SftpProgressMonitor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.SftpProgressMonitor].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpProgressMonitor.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.SftpProgressMonitor
    signature: '[com.jcraft.jsch.SftpProgressMonitor].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.UserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.UserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.UserInfo].getPassword()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.UserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.UserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.UserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.UserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.UserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.UserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserInfo.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.UserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.UserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserInfo.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.UserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.UserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.UserInfo].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/UserInfo.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.UserInfo
    signature: '[com.jcraft.jsch.UserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHGEX:69,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.DHGEX:69,1
    - Dst: '[com.jcraft.jsch.DHGEX].asSubclass()'
      Src: com.jcraft.jsch.DHGEX:69,1
    - Dst: '[com.jcraft.jsch.DHGEX].getDeclaredConstructor()'
      Src: com.jcraft.jsch.DHGEX:70,1
    - Dst: '[com.jcraft.jsch.DHGEX].newInstance()'
      Src: com.jcraft.jsch.DHGEX:70,1
    - Dst: '[com.jcraft.jsch.DHGEX].init()'
      Src: com.jcraft.jsch.DHGEX:71,1
    - Dst: '[byte[]].toString()'
      Src: com.jcraft.jsch.DHGEX:73,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHGEX,byte[])'
      Src: com.jcraft.jsch.DHGEX:73,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.DHGEX:76,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.DHGEX:77,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHGEX:80,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.DHGEX:80,1
    - Dst: '[com.jcraft.jsch.DHGEX].asSubclass()'
      Src: com.jcraft.jsch.DHGEX:80,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHGEX:81,1
    - Dst: Integer.parseInt(String)
      Src: com.jcraft.jsch.DHGEX:81,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHGEX:82,1
    - Dst: Integer.parseInt(String)
      Src: com.jcraft.jsch.DHGEX:82,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHGEX:83,1
    - Dst: Integer.parseInt(String)
      Src: com.jcraft.jsch.DHGEX:83,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHGEX)'
      Src: com.jcraft.jsch.DHGEX:85,1
    - Dst: '[com.jcraft.jsch.DHGEX].getDeclaredConstructor()'
      Src: com.jcraft.jsch.DHGEX:88,1
    - Dst: '[com.jcraft.jsch.DHGEX].newInstance()'
      Src: com.jcraft.jsch.DHGEX:88,1
    - Dst: '[com.jcraft.jsch.DHGEX].init()'
      Src: com.jcraft.jsch.DHGEX:89,1
    - Dst: '[byte[]].toString()'
      Src: com.jcraft.jsch.DHGEX:91,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHGEX,byte[])'
      Src: com.jcraft.jsch.DHGEX:91,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.DHGEX:94,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.DHGEX:95,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.DHGEX)'
      Src: com.jcraft.jsch.DHGEX:96,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.DHGEX)'
      Src: com.jcraft.jsch.DHGEX:97,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.DHGEX)'
      Src: com.jcraft.jsch.DHGEX:98,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.DHGEX:99,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHGEX:101,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.DHGEX)'
      Src: com.jcraft.jsch.DHGEX:101,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHGEX:102,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHGEX,String)'
      Src: com.jcraft.jsch.DHGEX:102,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHGEX:104,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHGEX,String)'
      Src: com.jcraft.jsch.DHGEX:104,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.DH
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - byte[]
      - byte[]
      - byte[]
      - String
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 5
    argNames:
    - session
    - V_S
    - V_C
    - I_S
    - I_C
    argTypes:
    - com.jcraft.jsch.Session
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 108
      start: 60
    functionDepth: 5
    functionLinenumber: 60
    functionLinenumberEnd: 108
    functionName: '[com.jcraft.jsch.DHGEX].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.DHGEX)'
    - Integer.parseInt(String)
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.DHGEX)'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHGEX,String)'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHGEX,byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - Class.forName(String)
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHGEX)'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.DHGEX].getDeclaredConstructor()'
    - '[com.jcraft.jsch.DHGEX].init()'
    - '[com.jcraft.jsch.DHGEX].newInstance()'
    - '[byte[]].toString()'
    - '[com.jcraft.jsch.DHGEX].asSubclass()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.DHGEX].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.DHGEX:118,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.DHGEX:119,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.DHGEX:120,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHGEX:122,1
    - Dst: '[com.jcraft.jsch.DHGEX].isEnabled(com.jcraft.jsch.DHGEX)'
      Src: com.jcraft.jsch.DHGEX:122,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHGEX:123,1
    - Dst: '[com.jcraft.jsch.DHGEX].log(com.jcraft.jsch.DHGEX,String)'
      Src: com.jcraft.jsch.DHGEX:123,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.DHGEX:128,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.DHGEX:129,1
    - Dst: '[java.math.BigInteger].<init>(int,byte[])'
      Src: com.jcraft.jsch.DHGEX:131,1
    - Dst: '[java.math.BigInteger].bitLength()'
      Src: com.jcraft.jsch.DHGEX:131,1
    - Dst: '[com.jcraft.jsch.DH].setP(byte[])'
      Src: com.jcraft.jsch.DHGEX:136,1
    - Dst: '[com.jcraft.jsch.DH].setG(byte[])'
      Src: com.jcraft.jsch.DHGEX:137,1
    - Dst: '[com.jcraft.jsch.DH].getE()'
      Src: com.jcraft.jsch.DHGEX:143,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.DHGEX:145,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.DHGEX:146,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.DHGEX:147,1
    - Dst: session.write(com.jcraft.jsch.Packet)
      Src: com.jcraft.jsch.DHGEX:148,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHGEX:150,1
    - Dst: '[com.jcraft.jsch.DHGEX].isEnabled(com.jcraft.jsch.DHGEX)'
      Src: com.jcraft.jsch.DHGEX:150,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHGEX:151,1
    - Dst: '[com.jcraft.jsch.DHGEX].log(com.jcraft.jsch.DHGEX,String)'
      Src: com.jcraft.jsch.DHGEX:151,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHGEX:152,1
    - Dst: '[com.jcraft.jsch.DHGEX].log(com.jcraft.jsch.DHGEX,String)'
      Src: com.jcraft.jsch.DHGEX:152,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.DHGEX:165,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.DHGEX:166,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.DHGEX:167,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHGEX:169,1
    - Dst: '[com.jcraft.jsch.DHGEX].isEnabled(com.jcraft.jsch.DHGEX)'
      Src: com.jcraft.jsch.DHGEX:169,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHGEX:170,1
    - Dst: '[com.jcraft.jsch.DHGEX].log(com.jcraft.jsch.DHGEX,String)'
      Src: com.jcraft.jsch.DHGEX:170,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHGEX:175,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.DHGEX:177,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHGEX:178,1
    - Dst: '[com.jcraft.jsch.DH].setF(byte[])'
      Src: com.jcraft.jsch.DHGEX:180,1
    - Dst: '[com.jcraft.jsch.DH].checkRange()'
      Src: com.jcraft.jsch.DHGEX:182,1
    - Dst: '[com.jcraft.jsch.DH].getK()'
      Src: com.jcraft.jsch.DHGEX:184,1
    - Dst: '[com.jcraft.jsch.DHGEX].normalize(byte[])'
      Src: com.jcraft.jsch.DHGEX:184,1
    - Dst: '[com.jcraft.jsch.DHGEX].encodeAsMPInt(com.jcraft.jsch.DHGEX,boolean)'
      Src: com.jcraft.jsch.DHGEX:184,1
    - Dst: '[com.jcraft.jsch.DHGEX].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHGEX:203,1
    - Dst: sha.update(com.jcraft.jsch.DHGEX,int,com.jcraft.jsch.DHGEX)
      Src: com.jcraft.jsch.DHGEX:204,1
    - Dst: '[com.jcraft.jsch.DHGEX].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHGEX:205,1
    - Dst: sha.update(com.jcraft.jsch.DHGEX,int,com.jcraft.jsch.DHGEX)
      Src: com.jcraft.jsch.DHGEX:206,1
    - Dst: '[com.jcraft.jsch.DHGEX].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHGEX:207,1
    - Dst: sha.update(com.jcraft.jsch.DHGEX,int,com.jcraft.jsch.DHGEX)
      Src: com.jcraft.jsch.DHGEX:208,1
    - Dst: '[com.jcraft.jsch.DHGEX].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHGEX:209,1
    - Dst: sha.update(com.jcraft.jsch.DHGEX,int,com.jcraft.jsch.DHGEX)
      Src: com.jcraft.jsch.DHGEX:210,1
    - Dst: '[com.jcraft.jsch.DHGEX].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHGEX:211,1
    - Dst: sha.update(com.jcraft.jsch.DHGEX,int,com.jcraft.jsch.DHGEX)
      Src: com.jcraft.jsch.DHGEX:212,1
    - Dst: '[com.jcraft.jsch.DHGEX].encodeInt(int)'
      Src: com.jcraft.jsch.DHGEX:213,1
    - Dst: sha.update(com.jcraft.jsch.DHGEX,int,com.jcraft.jsch.DHGEX)
      Src: com.jcraft.jsch.DHGEX:214,1
    - Dst: '[com.jcraft.jsch.DHGEX].encodeInt(int)'
      Src: com.jcraft.jsch.DHGEX:215,1
    - Dst: sha.update(com.jcraft.jsch.DHGEX,int,com.jcraft.jsch.DHGEX)
      Src: com.jcraft.jsch.DHGEX:216,1
    - Dst: '[com.jcraft.jsch.DHGEX].encodeInt(int)'
      Src: com.jcraft.jsch.DHGEX:217,1
    - Dst: sha.update(com.jcraft.jsch.DHGEX,int,com.jcraft.jsch.DHGEX)
      Src: com.jcraft.jsch.DHGEX:218,1
    - Dst: '[com.jcraft.jsch.DHGEX].encodeAsMPInt(byte[],boolean)'
      Src: com.jcraft.jsch.DHGEX:219,1
    - Dst: sha.update(com.jcraft.jsch.DHGEX,int,com.jcraft.jsch.DHGEX)
      Src: com.jcraft.jsch.DHGEX:220,1
    - Dst: '[com.jcraft.jsch.DHGEX].encodeAsMPInt(byte[],boolean)'
      Src: com.jcraft.jsch.DHGEX:221,1
    - Dst: sha.update(com.jcraft.jsch.DHGEX,int,com.jcraft.jsch.DHGEX)
      Src: com.jcraft.jsch.DHGEX:222,1
    - Dst: '[com.jcraft.jsch.DHGEX].encodeAsMPInt(byte[],boolean)'
      Src: com.jcraft.jsch.DHGEX:223,1
    - Dst: sha.update(com.jcraft.jsch.DHGEX,int,com.jcraft.jsch.DHGEX)
      Src: com.jcraft.jsch.DHGEX:224,1
    - Dst: '[com.jcraft.jsch.DHGEX].encodeAsMPInt(byte[],boolean)'
      Src: com.jcraft.jsch.DHGEX:225,1
    - Dst: sha.update(com.jcraft.jsch.DHGEX,int,com.jcraft.jsch.DHGEX)
      Src: com.jcraft.jsch.DHGEX:226,1
    - Dst: sha.update(com.jcraft.jsch.DHGEX,int,com.jcraft.jsch.DHGEX)
      Src: com.jcraft.jsch.DHGEX:228,1
    - Dst: sha.digest()
      Src: com.jcraft.jsch.DHGEX:229,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.DHGEX,com.jcraft.jsch.DHGEX)'
      Src: com.jcraft.jsch.DHGEX:237,1
    - Dst: '[com.jcraft.jsch.DHGEX].verify(String,byte[],com.jcraft.jsch.DHGEX,byte[])'
      Src: com.jcraft.jsch.DHGEX:240,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 117
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.DH
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - byte[]
      - byte[]
      - byte[]
      - String
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 246
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 246
    functionName: '[com.jcraft.jsch.DHGEX].next(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getMPInt()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[java.math.BigInteger].<init>(int,byte[])'
    - '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
    - '[com.jcraft.jsch.DHGEX].encodeAsString(byte[],boolean)'
    - session.getLogger()
    - sha.digest()
    - '[java.math.BigInteger].bitLength()'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.DHGEX].log(com.jcraft.jsch.DHGEX,String)'
    - sha.update(com.jcraft.jsch.DHGEX,int,com.jcraft.jsch.DHGEX)
    - '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.DHGEX,com.jcraft.jsch.DHGEX)'
    - '[com.jcraft.jsch.DHGEX].isEnabled(com.jcraft.jsch.DHGEX)'
    - '[com.jcraft.jsch.DH].checkRange()'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.DHGEX].encodeAsMPInt(byte[],boolean)'
    - '[com.jcraft.jsch.DH].setP(byte[])'
    - '[com.jcraft.jsch.DHGEX].verify(String,byte[],com.jcraft.jsch.DHGEX,byte[])'
    - '[com.jcraft.jsch.DH].getE()'
    - '[com.jcraft.jsch.DHGEX].encodeAsMPInt(com.jcraft.jsch.DHGEX,boolean)'
    - '[com.jcraft.jsch.DH].getK()'
    - '[com.jcraft.jsch.DHGEX].encodeInt(int)'
    - '[com.jcraft.jsch.DH].setF(byte[])'
    - session.write(com.jcraft.jsch.Packet)
    - '[com.jcraft.jsch.DHGEX].normalize(byte[])'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.DH].setG(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.DHGEX].next(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.DH
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - byte[]
      - byte[]
      - byte[]
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: '[com.jcraft.jsch.DHGEX].getState()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.DHGEX].getState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.DH
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - byte[]
      - byte[]
      - byte[]
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHGEX
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHGEX].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHGEX
    signature: '[com.jcraft.jsch.DHGEX].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.Signature].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Signature.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Signature].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - H
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.Signature].update(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Signature.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Signature].update(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sig
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.Signature].verify(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Signature.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.Signature].verify(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.Signature].sign()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Signature.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.Signature].sign()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Signature
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Signature].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Signature.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Signature
    signature: '[com.jcraft.jsch.Signature].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].stream(String[])'
      Src: com.jcraft.jsch.KeyPairECDSA:42,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].map()'
      Src: com.jcraft.jsch.KeyPairECDSA:42,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].toArray()'
      Src: com.jcraft.jsch.KeyPairECDSA:42,1
    - Dst: '[com.jcraft.jsch.Util].str2byte()'
      Src: com.jcraft.jsch.KeyPairECDSA:44,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,null,null,null,null)'
      Src: com.jcraft.jsch.KeyPairECDSA:52,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:102,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPairECDSA
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - instLogger
    argTypes:
    - JSch.InstanceLogger
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[java.util.Arrays].stream(String[])'
    - '[com.jcraft.jsch.KeyPairECDSA].toArray()'
    - '[com.jcraft.jsch.KeyPairECDSA].map()'
    - '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,null,null,null,null)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairECDSA
    signature: '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].stream(String[])'
      Src: com.jcraft.jsch.KeyPairECDSA:42,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].map()'
      Src: com.jcraft.jsch.KeyPairECDSA:42,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].toArray()'
      Src: com.jcraft.jsch.KeyPairECDSA:42,1
    - Dst: '[com.jcraft.jsch.Util].str2byte()'
      Src: com.jcraft.jsch.KeyPairECDSA:44,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,null,null,null,null)'
      Src: com.jcraft.jsch.KeyPairECDSA:56,1
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.KeyPairECDSA:60,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:61,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:61,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:65,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:65,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:102,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPairECDSA
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 2
    argNames:
    - instLogger
    - pubkey
    argTypes:
    - JSch.InstanceLogger
    - byte[]
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[java.util.Arrays].stream(String[])'
    - System.arraycopy(byte[],int,byte[],int,int)
    - '[com.jcraft.jsch.KeyPairECDSA].toArray()'
    - '[com.jcraft.jsch.KeyPairECDSA].map()'
    - '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,null,null,null,null)'
    - '[com.jcraft.jsch.Util].array_equals(byte[],byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairECDSA
    signature: '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].stream(String[])'
      Src: com.jcraft.jsch.KeyPairECDSA:42,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].map()'
      Src: com.jcraft.jsch.KeyPairECDSA:42,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].toArray()'
      Src: com.jcraft.jsch.KeyPairECDSA:42,1
    - Dst: '[com.jcraft.jsch.Util].str2byte()'
      Src: com.jcraft.jsch.KeyPairECDSA:44,1
    - Dst: '[com.jcraft.jsch.KeyPair].<init>(JSch.InstanceLogger)'
      Src: com.jcraft.jsch.KeyPairECDSA:74,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:102,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPairECDSA
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 5
    argNames:
    - instLogger
    - name
    - r_array
    - s_array
    - prv_array
    argTypes:
    - JSch.InstanceLogger
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[java.util.Arrays].stream(String[])'
    - '[com.jcraft.jsch.KeyPairECDSA].toArray()'
    - '[com.jcraft.jsch.KeyPairECDSA].map()'
    - '[com.jcraft.jsch.KeyPair].<init>(JSch.InstanceLogger)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairECDSA
    signature: '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:89,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairECDSA:89,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].asSubclass()'
      Src: com.jcraft.jsch.KeyPairECDSA:89,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairECDSA:90,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].newInstance()'
      Src: com.jcraft.jsch.KeyPairECDSA:90,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].init(int)'
      Src: com.jcraft.jsch.KeyPairECDSA:91,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].getD()'
      Src: com.jcraft.jsch.KeyPairECDSA:92,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].getR()'
      Src: com.jcraft.jsch.KeyPairECDSA:93,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].getS()'
      Src: com.jcraft.jsch.KeyPairECDSA:94,1
    - Dst: '[com.jcraft.jsch.Util].str2byte()'
      Src: com.jcraft.jsch.KeyPairECDSA:95,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.KeyPairECDSA:98,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: '[com.jcraft.jsch.KeyPairECDSA].generate(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairECDSA].init(int)'
    - '[com.jcraft.jsch.KeyPairECDSA].getD()'
    - '[com.jcraft.jsch.Util].str2byte()'
    - '[com.jcraft.jsch.KeyPairECDSA].getS()'
    - '[com.jcraft.jsch.KeyPairECDSA].getDeclaredConstructor()'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.KeyPairECDSA].newInstance()'
    - '[com.jcraft.jsch.KeyPairECDSA].getR()'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPairECDSA].asSubclass()'
    - e.toString()
    - Class.forName(String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairECDSA].generate(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: '[com.jcraft.jsch.KeyPairECDSA].getBegin()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairECDSA].getBegin()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[com.jcraft.jsch.KeyPairECDSA].getEnd()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairECDSA].getEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].toPoint(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:123,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA)
      Src: com.jcraft.jsch.KeyPairECDSA:127,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].countLength(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:137,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].countLength(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:137,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].countLength(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:138,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].countLength(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:139,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].countLength(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:141,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].writeSEQUENCE(com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:145,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].writeINTEGER(com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:146,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].writeOCTETSTRING(com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA,byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:147,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].writeDATA(com.jcraft.jsch.KeyPairECDSA,byte,com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:148,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].writeDATA(com.jcraft.jsch.KeyPairECDSA,byte,com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 56
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 152
    functionName: '[com.jcraft.jsch.KeyPairECDSA].getPrivateKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPairECDSA].writeOCTETSTRING(com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA,byte[])'
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA)
    - '[com.jcraft.jsch.KeyPairECDSA].countLength(com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.KeyPairECDSA].toPoint(byte[],byte[])'
    - '[com.jcraft.jsch.KeyPairECDSA].writeDATA(com.jcraft.jsch.KeyPairECDSA,byte,com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.KeyPairECDSA].writeSEQUENCE(com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.KeyPairECDSA].writeINTEGER(com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairECDSA].getPrivateKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].getKeyTypeName()'
      Src: com.jcraft.jsch.KeyPairECDSA:156,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].toPoint(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:157,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:169,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:170,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:171,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:172,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:173,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:178,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 182
    functionName: '[com.jcraft.jsch.KeyPairECDSA].getOpenSSHv1PrivateKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.KeyPairECDSA].toPoint(byte[],byte[])'
    - '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
    - '[com.jcraft.jsch.KeyPairECDSA].getKeyTypeName()'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairECDSA].getOpenSSHv1PrivateKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:194,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:195,1
    - Dst: '[com.jcraft.jsch.Buffer].getBytes(int,String)'
      Src: com.jcraft.jsch.KeyPairECDSA:198,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairECDSA:202,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].isEnabled(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:202,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairECDSA:203,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].log(com.jcraft.jsch.KeyPairECDSA,String,com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:203,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:213,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPairECDSA:214,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPairECDSA:215,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:217,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairECDSA:220,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:220,1
    - Dst: '[java.util.Arrays].asList(String[])'
      Src: com.jcraft.jsch.KeyPairECDSA:221,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].contains(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:221,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:222,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairECDSA:225,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:226,1
    - Dst: '[java.util.Arrays].asList(String[])'
      Src: com.jcraft.jsch.KeyPairECDSA:227,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].contains(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:227,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:228,1
    - Dst: '[String].endsWith(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:231,1
    - Dst: '[IllegalArgumentException].<init>(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:232,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairECDSA:248,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:251,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].fromPoint(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:253,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.KeyPairECDSA:254,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairECDSA:255,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:255,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairECDSA,byte[],int,com.jcraft.jsch.KeyPairECDSA)
      Src: com.jcraft.jsch.KeyPairECDSA:303,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA,int,com.jcraft.jsch.KeyPairECDSA)
      Src: com.jcraft.jsch.KeyPairECDSA:319,1
    - Dst: '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:323,1
    - Dst: '[com.jcraft.jsch.Util].str2byte()'
      Src: com.jcraft.jsch.KeyPairECDSA:324,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA,int,com.jcraft.jsch.KeyPairECDSA)
      Src: com.jcraft.jsch.KeyPairECDSA:341,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].fromPoint(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:344,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairECDSA:351,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].isEnabled(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:351,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairECDSA:352,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].log(com.jcraft.jsch.KeyPairECDSA,String,com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:352,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 166
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - plain
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 357
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 357
    functionName: '[com.jcraft.jsch.KeyPairECDSA].parse(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getMPInt()'
    - '[IllegalArgumentException].<init>(String)'
    - '[com.jcraft.jsch.KeyPairECDSA].log(com.jcraft.jsch.KeyPairECDSA,String,com.jcraft.jsch.KeyPairECDSA)'
    - System.arraycopy(byte[],com.jcraft.jsch.KeyPairECDSA,byte[],int,com.jcraft.jsch.KeyPairECDSA)
    - '[com.jcraft.jsch.KeyPairECDSA].contains(String)'
    - instLogger.getLogger()
    - '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[com.jcraft.jsch.KeyPairECDSA].isEnabled(com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[String].endsWith(String)'
    - '[java.util.Arrays].asList(String[])'
    - '[com.jcraft.jsch.KeyPairECDSA].fromPoint(byte[])'
    - '[com.jcraft.jsch.Util].str2byte()'
    - '[com.jcraft.jsch.Util].array_equals(com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.KeyPairECDSA].fromPoint(com.jcraft.jsch.KeyPairECDSA)'
    - '[IllegalArgumentException].<init>(com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - System.arraycopy(byte[],com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA,int,com.jcraft.jsch.KeyPairECDSA)
    - '[com.jcraft.jsch.Buffer].getBytes(int,String)'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyPairECDSA].parse(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPairECDSA:361,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:370,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:370,1
    - Dst: System.arraycopy(byte[],int,int,com.jcraft.jsch.KeyPairECDSA)
      Src: com.jcraft.jsch.KeyPairECDSA:374,1
    - Dst: System.arraycopy(byte[],int,int,com.jcraft.jsch.KeyPairECDSA)
      Src: com.jcraft.jsch.KeyPairECDSA:375,1
    - Dst: '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: '[com.jcraft.jsch.KeyPairECDSA].getPublicKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
    - System.arraycopy(byte[],int,int,com.jcraft.jsch.KeyPairECDSA)
    - '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairECDSA)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairECDSA].getPublicKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:382,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: '[com.jcraft.jsch.KeyPairECDSA].getKeyTypeName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairECDSA].getKeyTypeName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: '[com.jcraft.jsch.KeyPairECDSA].getKeyType()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPairECDSA].getKeyType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: '[com.jcraft.jsch.KeyPairECDSA].getKeySize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPairECDSA].getKeySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:400,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:400,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairECDSA:400,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].asSubclass()'
      Src: com.jcraft.jsch.KeyPairECDSA:400,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairECDSA:402,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].newInstance()'
      Src: com.jcraft.jsch.KeyPairECDSA:402,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].init()'
      Src: com.jcraft.jsch.KeyPairECDSA:403,1
    - Dst: '[java.util.Arrays].copyOf(byte[],com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:405,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].setPrvKey(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:406,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].update(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:408,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].sign()'
      Src: com.jcraft.jsch.KeyPairECDSA:409,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:412,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:412,1
    - Dst: '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:414,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairECDSA:416,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].isEnabled(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:416,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairECDSA:417,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].log(com.jcraft.jsch.KeyPairECDSA,String,com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:417,1
    - Dst: '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 423
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 423
    functionName: '[com.jcraft.jsch.KeyPairECDSA].getSignature(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.KeyPairECDSA].update(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[java.util.Arrays].copyOf(byte[],com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.KeyPairECDSA].getDeclaredConstructor()'
    - instLogger.getLogger()
    - '[com.jcraft.jsch.KeyPairECDSA].newInstance()'
    - '[com.jcraft.jsch.KeyPairECDSA].setPrvKey(com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPairECDSA].asSubclass()'
    - '[com.jcraft.jsch.Util].bzero(com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.KeyPairECDSA].log(com.jcraft.jsch.KeyPairECDSA,String,com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.KeyPairECDSA].init()'
    - '[com.jcraft.jsch.KeyPairECDSA].sign()'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPairECDSA].isEnabled(com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairECDSA)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairECDSA].getSignature(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].getSignature(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 2
    argNames:
    - data
    - al
    argTypes:
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: '[com.jcraft.jsch.KeyPairECDSA].getSignature(byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairECDSA].getSignature(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairECDSA].getSignature(byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:434,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:434,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairECDSA:434,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].asSubclass()'
      Src: com.jcraft.jsch.KeyPairECDSA:434,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairECDSA:436,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].newInstance()'
      Src: com.jcraft.jsch.KeyPairECDSA:436,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].init()'
      Src: com.jcraft.jsch.KeyPairECDSA:437,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPairECDSA:439,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPairECDSA:440,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:440,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairECDSA:441,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairECDSA:442,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairECDSA:443,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].fromPoint(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:443,1
    - Dst: '[java.util.Arrays].copyOf(byte[],com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:448,1
    - Dst: '[java.util.Arrays].copyOf(byte[],com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:449,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].setPubKey(com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:448,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairECDSA:452,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].isEnabled(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:452,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairECDSA:453,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].log(com.jcraft.jsch.KeyPairECDSA,String,com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:453,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Signature
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 457
      start: 430
    functionDepth: 4
    functionLinenumber: 430
    functionLinenumberEnd: 457
    functionName: '[com.jcraft.jsch.KeyPairECDSA].getVerifier()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[java.util.Arrays].copyOf(byte[],com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.KeyPairECDSA].getDeclaredConstructor()'
    - '[com.jcraft.jsch.KeyPairECDSA].setPubKey(com.jcraft.jsch.KeyPairECDSA,com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.KeyPairECDSA].newInstance()'
    - instLogger.getLogger()
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPairECDSA].asSubclass()'
    - '[com.jcraft.jsch.KeyPairECDSA].log(com.jcraft.jsch.KeyPairECDSA,String,com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.KeyPairECDSA].init()'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - Class.forName(String)
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.KeyPairECDSA].isEnabled(com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.KeyPairECDSA].getPublicKeyBlob()'
    - '[com.jcraft.jsch.KeyPairECDSA].fromPoint(byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.Signature
    signature: '[com.jcraft.jsch.KeyPairECDSA].getVerifier()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].getVerifier()'
      Src: com.jcraft.jsch.KeyPairECDSA:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Signature
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - alg
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 5
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: '[com.jcraft.jsch.KeyPairECDSA].getVerifier(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairECDSA].getVerifier()'
    linkageType: ''
    returnType: com.jcraft.jsch.Signature
    signature: '[com.jcraft.jsch.KeyPairECDSA].getVerifier(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getBytes(int,String)'
      Src: com.jcraft.jsch.KeyPairECDSA:466,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].fromPoint()'
      Src: com.jcraft.jsch.KeyPairECDSA:469,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:474,1
    - Dst: '[com.jcraft.jsch.Util].byte2str()'
      Src: com.jcraft.jsch.KeyPairECDSA:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: com.jcraft.jsch.KeyPair
    argCount: 2
    argNames:
    - instLogger
    - buf
    argTypes:
    - JSch.InstanceLogger
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 478
      start: 464
    functionDepth: 4
    functionLinenumber: 464
    functionLinenumberEnd: 478
    functionName: '[com.jcraft.jsch.KeyPairECDSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getBytes(int,String)'
    - '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[],byte[])'
    - '[com.jcraft.jsch.Util].byte2str()'
    - '[com.jcraft.jsch.KeyPairECDSA].fromPoint()'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPairECDSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].isEncrypted()'
      Src: com.jcraft.jsch.KeyPairECDSA:482,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:483,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.KeyPairECDSA:485,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:486,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairECDSA:486,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:486,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:487,1
    - Dst: '[com.jcraft.jsch.KeyPairECDSA].toPoint(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:488,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:488,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:489,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:490,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:490,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.KeyPairECDSA:491,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPairECDSA,int,com.jcraft.jsch.KeyPairECDSA)'
      Src: com.jcraft.jsch.KeyPairECDSA:492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 494
    functionName: '[com.jcraft.jsch.KeyPairECDSA].forSSHAgent()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPairECDSA,int,com.jcraft.jsch.KeyPairECDSA)'
    - '[com.jcraft.jsch.Buffer].getLength()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.KeyPairECDSA].toPoint(byte[],byte[])'
    - '[com.jcraft.jsch.KeyPairECDSA].isEncrypted()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairECDSA].forSSHAgent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPairECDSA,int,com.jcraft.jsch.KeyPairECDSA)
      Src: com.jcraft.jsch.KeyPairECDSA:499,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.KeyPairECDSA,int,com.jcraft.jsch.KeyPairECDSA)
      Src: com.jcraft.jsch.KeyPairECDSA:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: com.jcraft.jsch.KeyPair
    argCount: 2
    argNames:
    - r_array
    - s_array
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 502
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 502
    functionName: '[com.jcraft.jsch.KeyPairECDSA].toPoint(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 3
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.KeyPairECDSA,int,com.jcraft.jsch.KeyPairECDSA)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairECDSA].toPoint(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairECDSA,byte[],int,com.jcraft.jsch.KeyPairECDSA)
      Src: com.jcraft.jsch.KeyPairECDSA:513,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairECDSA,byte[],int,com.jcraft.jsch.KeyPairECDSA)
      Src: com.jcraft.jsch.KeyPairECDSA:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[][]
      static: true
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - point
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 519
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 519
    functionName: '[com.jcraft.jsch.KeyPairECDSA].fromPoint(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 3
    functionsReached:
    - System.arraycopy(byte[],com.jcraft.jsch.KeyPairECDSA,byte[],int,com.jcraft.jsch.KeyPairECDSA)
    linkageType: ''
    returnType: byte[][]
    signature: '[com.jcraft.jsch.KeyPairECDSA].fromPoint(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].dispose()'
      Src: com.jcraft.jsch.KeyPairECDSA:523,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPairECDSA:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[][]
      - String[]
      - String[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: '[com.jcraft.jsch.KeyPairECDSA].dispose()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - '[com.jcraft.jsch.KeyPair].dispose()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairECDSA].dispose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHXECKEM:66,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.DHXECKEM:66,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].asSubclass()'
      Src: com.jcraft.jsch.DHXECKEM:66,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].getDeclaredConstructor()'
      Src: com.jcraft.jsch.DHXECKEM:67,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].newInstance()'
      Src: com.jcraft.jsch.DHXECKEM:67,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].init()'
      Src: com.jcraft.jsch.DHXECKEM:68,1
    - Dst: '[byte[]].toString()'
      Src: com.jcraft.jsch.DHXECKEM:70,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHXECKEM,byte[])'
      Src: com.jcraft.jsch.DHXECKEM:70,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.DHXECKEM:73,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.DHXECKEM:74,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.DHXECKEM:76,1
    - Dst: '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.DHXECKEM)'
      Src: com.jcraft.jsch.DHXECKEM:78,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.DHXECKEM:79,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHXECKEM:82,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.DHXECKEM:82,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].asSubclass()'
      Src: com.jcraft.jsch.DHXECKEM:82,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].getDeclaredConstructor()'
      Src: com.jcraft.jsch.DHXECKEM:83,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].newInstance()'
      Src: com.jcraft.jsch.DHXECKEM:83,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].init()'
      Src: com.jcraft.jsch.DHXECKEM:84,1
    - Dst: '[com.jcraft.jsch.Session].getConfig(String)'
      Src: com.jcraft.jsch.DHXECKEM:86,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.DHXECKEM:86,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].asSubclass()'
      Src: com.jcraft.jsch.DHXECKEM:86,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].getDeclaredConstructor()'
      Src: com.jcraft.jsch.DHXECKEM:87,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].newInstance()'
      Src: com.jcraft.jsch.DHXECKEM:87,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].init(String,int)'
      Src: com.jcraft.jsch.DHXECKEM:88,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].getPublicKey()'
      Src: com.jcraft.jsch.DHXECKEM:90,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].getQ()'
      Src: com.jcraft.jsch.DHXECKEM:91,1
    - Dst: System.arraycopy(com.jcraft.jsch.DHXECKEM,int,byte[],int,int)
      Src: com.jcraft.jsch.DHXECKEM:93,1
    - Dst: System.arraycopy(com.jcraft.jsch.DHXECKEM,int,byte[],int,int)
      Src: com.jcraft.jsch.DHXECKEM:94,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.DHXECKEM:95,1
    - Dst: '[byte[]].toString()'
      Src: com.jcraft.jsch.DHXECKEM:97,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHXECKEM,byte[])'
      Src: com.jcraft.jsch.DHXECKEM:97,1
    - Dst: '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.DHXECKEM:104,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHXECKEM:106,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.DHXECKEM)'
      Src: com.jcraft.jsch.DHXECKEM:106,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHXECKEM:107,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHXECKEM,String)'
      Src: com.jcraft.jsch.DHXECKEM:107,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.DHXECKEM:108,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHXECKEM,String)'
      Src: com.jcraft.jsch.DHXECKEM:108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.KEM
      - com.jcraft.jsch.jce.XDH
      - String
      - String
      - String
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 5
    argNames:
    - session
    - V_S
    - V_C
    - I_S
    - I_C
    argTypes:
    - com.jcraft.jsch.Session
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 112
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 112
    functionName: '[com.jcraft.jsch.DHXECKEM].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHXECKEM.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.DHXECKEM)'
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.DHXECKEM].getPublicKey()'
    - '[com.jcraft.jsch.DHXECKEM].asSubclass()'
    - '[com.jcraft.jsch.DHXECKEM].getQ()'
    - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.DHXECKEM].init(String,int)'
    - '[com.jcraft.jsch.DHXECKEM].newInstance()'
    - '[com.jcraft.jsch.Session].getConfig(String)'
    - System.arraycopy(com.jcraft.jsch.DHXECKEM,int,byte[],int,int)
    - '[com.jcraft.jsch.DHXECKEM].init()'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.DHXECKEM,byte[])'
    - '[com.jcraft.jsch.DHXECKEM].getDeclaredConstructor()'
    - Class.forName(String)
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.DHXECKEM)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.DHXECKEM,String)'
    - '[byte[]].toString()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.DHXECKEM].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.DHXECKEM:124,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.DHXECKEM:125,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.DHXECKEM:126,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHXECKEM:128,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].isEnabled(com.jcraft.jsch.DHXECKEM)'
      Src: com.jcraft.jsch.DHXECKEM:128,1
    - Dst: session.getLogger()
      Src: com.jcraft.jsch.DHXECKEM:129,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].log(com.jcraft.jsch.DHXECKEM,String)'
      Src: com.jcraft.jsch.DHXECKEM:129,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHXECKEM:134,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHXECKEM:136,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.DHXECKEM,int,int)
      Src: com.jcraft.jsch.DHXECKEM:143,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.DHXECKEM,int,int)
      Src: com.jcraft.jsch.DHXECKEM:144,1
    - Dst: '[com.jcraft.jsch.jce.XDH].validate(com.jcraft.jsch.DHXECKEM)'
      Src: com.jcraft.jsch.DHXECKEM:152,1
    - Dst: '[com.jcraft.jsch.KEM].decapsulate(com.jcraft.jsch.DHXECKEM)'
      Src: com.jcraft.jsch.DHXECKEM:158,1
    - Dst: sha.update(byte[],int,com.jcraft.jsch.DHXECKEM)
      Src: com.jcraft.jsch.DHXECKEM:159,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.DHXECKEM:161,1
    - Dst: '[com.jcraft.jsch.jce.XDH].getSecret(com.jcraft.jsch.DHXECKEM)'
      Src: com.jcraft.jsch.DHXECKEM:164,1
    - Dst: sha.update(byte[],int,com.jcraft.jsch.DHXECKEM)
      Src: com.jcraft.jsch.DHXECKEM:165,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.DHXECKEM:167,1
    - Dst: sha.digest()
      Src: com.jcraft.jsch.DHXECKEM:169,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].encodeAsString(com.jcraft.jsch.DHXECKEM,boolean)'
      Src: com.jcraft.jsch.DHXECKEM:169,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.DHXECKEM:171,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHXECKEM:195,1
    - Dst: sha.update(com.jcraft.jsch.DHXECKEM,int,com.jcraft.jsch.DHXECKEM)
      Src: com.jcraft.jsch.DHXECKEM:196,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHXECKEM:197,1
    - Dst: sha.update(com.jcraft.jsch.DHXECKEM,int,com.jcraft.jsch.DHXECKEM)
      Src: com.jcraft.jsch.DHXECKEM:198,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHXECKEM:199,1
    - Dst: sha.update(com.jcraft.jsch.DHXECKEM,int,com.jcraft.jsch.DHXECKEM)
      Src: com.jcraft.jsch.DHXECKEM:200,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHXECKEM:201,1
    - Dst: sha.update(com.jcraft.jsch.DHXECKEM,int,com.jcraft.jsch.DHXECKEM)
      Src: com.jcraft.jsch.DHXECKEM:202,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHXECKEM:203,1
    - Dst: sha.update(com.jcraft.jsch.DHXECKEM,int,com.jcraft.jsch.DHXECKEM)
      Src: com.jcraft.jsch.DHXECKEM:204,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHXECKEM:205,1
    - Dst: sha.update(com.jcraft.jsch.DHXECKEM,int,com.jcraft.jsch.DHXECKEM)
      Src: com.jcraft.jsch.DHXECKEM:206,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].encodeAsString(byte[],boolean)'
      Src: com.jcraft.jsch.DHXECKEM:207,1
    - Dst: sha.update(com.jcraft.jsch.DHXECKEM,int,com.jcraft.jsch.DHXECKEM)
      Src: com.jcraft.jsch.DHXECKEM:208,1
    - Dst: sha.update(com.jcraft.jsch.DHXECKEM,int,com.jcraft.jsch.DHXECKEM)
      Src: com.jcraft.jsch.DHXECKEM:210,1
    - Dst: sha.digest()
      Src: com.jcraft.jsch.DHXECKEM:211,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.DHXECKEM,com.jcraft.jsch.DHXECKEM)'
      Src: com.jcraft.jsch.DHXECKEM:217,1
    - Dst: '[com.jcraft.jsch.DHXECKEM].verify(String,byte[],com.jcraft.jsch.DHXECKEM,byte[])'
      Src: com.jcraft.jsch.DHXECKEM:220,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 80
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.KEM
      - com.jcraft.jsch.jce.XDH
      - String
      - String
      - String
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 226
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 226
    functionName: '[com.jcraft.jsch.DHXECKEM].next(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHXECKEM.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.XDH].getSecret(com.jcraft.jsch.DHXECKEM)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.DHXECKEM,int,int)
    - sha.digest()
    - '[com.jcraft.jsch.DHXECKEM].encodeAsString(com.jcraft.jsch.DHXECKEM,boolean)'
    - sha.update(com.jcraft.jsch.DHXECKEM,int,com.jcraft.jsch.DHXECKEM)
    - '[com.jcraft.jsch.jce.XDH].validate(com.jcraft.jsch.DHXECKEM)'
    - '[com.jcraft.jsch.Util].byte2str(byte[],com.jcraft.jsch.DHXECKEM,com.jcraft.jsch.DHXECKEM)'
    - '[com.jcraft.jsch.KEM].decapsulate(com.jcraft.jsch.DHXECKEM)'
    - '[com.jcraft.jsch.DHXECKEM].isEnabled(com.jcraft.jsch.DHXECKEM)'
    - '[com.jcraft.jsch.DHXECKEM].encodeAsString(byte[],boolean)'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.DHXECKEM].verify(String,byte[],com.jcraft.jsch.DHXECKEM,byte[])'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - sha.update(byte[],int,com.jcraft.jsch.DHXECKEM)
    - '[com.jcraft.jsch.DHXECKEM].log(com.jcraft.jsch.DHXECKEM,String)'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - session.getLogger()
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.DHXECKEM].next(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.KEM
      - com.jcraft.jsch.jce.XDH
      - String
      - String
      - String
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: '[com.jcraft.jsch.DHXECKEM].getState()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHXECKEM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.DHXECKEM].getState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.Packet
      - com.jcraft.jsch.KEM
      - com.jcraft.jsch.jce.XDH
      - String
      - String
      - String
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHXECKEM
      static: false
      superClass: com.jcraft.jsch.KeyExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHXECKEM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHXECKEM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHXECKEM
    signature: '[com.jcraft.jsch.DHXECKEM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.DHG16N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.DHG16384].sha_name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG16384.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.DHG16384].sha_name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHG16384
      static: false
      superClass: com.jcraft.jsch.DHG16N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHG16384].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG16384.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHG16384
    signature: '[com.jcraft.jsch.DHG16384].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.DHG15N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.DHG15256].sha_name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG15256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.DHG15256].sha_name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHG15256
      static: false
      superClass: com.jcraft.jsch.DHG15N
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHG15256].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG15256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHG15256
    signature: '[com.jcraft.jsch.DHG15256].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.KeyPairGenRSA].init(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairGenRSA].init(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.KeyPairGenRSA].getD()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenRSA].getD()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.KeyPairGenRSA].getE()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenRSA].getE()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.KeyPairGenRSA].getN()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenRSA].getN()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.KeyPairGenRSA].getC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenRSA].getC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.KeyPairGenRSA].getEP()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenRSA].getEP()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '[com.jcraft.jsch.KeyPairGenRSA].getEQ()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenRSA].getEQ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.KeyPairGenRSA].getP()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenRSA].getP()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.KeyPairGenRSA].getQ()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairGenRSA].getQ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KeyPairGenRSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KeyPairGenRSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairGenRSA
    signature: '[com.jcraft.jsch.KeyPairGenRSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String)'
      Src: com.jcraft.jsch.SftpException:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SftpException
      static: false
      superClass: Exception
    argCount: 2
    argNames:
    - id
    - message
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.SftpException].<init>(int,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpException.java
    functionUses: 28
    functionsReached:
    - '[Exception].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.SftpException
    signature: '[com.jcraft.jsch.SftpException].<init>(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String,Throwable)'
      Src: com.jcraft.jsch.SftpException:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.SftpException
      static: false
      superClass: Exception
    argCount: 3
    argNames:
    - id
    - message
    - e
    argTypes:
    - int
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.SftpException].<init>(int,String,Throwable)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpException.java
    functionUses: 0
    functionsReached:
    - '[Exception].<init>(String,Throwable)'
    linkageType: ''
    returnType: com.jcraft.jsch.SftpException
    signature: '[com.jcraft.jsch.SftpException].<init>(int,String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.SftpException].getMessage()'
      Src: com.jcraft.jsch.SftpException:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Exception
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.SftpException].toString()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/SftpException.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.SftpException].getMessage()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.SftpException].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.StringReader].<init>(String)'
      Src: com.jcraft.jsch.OpenSSHConfig:92,1
    - Dst: '[java.io.BufferedReader].<init>(com.jcraft.jsch.OpenSSHConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig:93,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].<init>(com.jcraft.jsch.OpenSSHConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      - java.util.Hashtable<String,java.util.Vector<String[]>>
      - java.util.Vector<String>
      - java.util.Hashtable<String,String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.ConfigRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.OpenSSHConfig
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - conf
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 9
    functionsReached:
    - '[java.io.BufferedReader].<init>(com.jcraft.jsch.OpenSSHConfig)'
    - '[java.io.StringReader].<init>(String)'
    - '[com.jcraft.jsch.OpenSSHConfig].<init>(com.jcraft.jsch.OpenSSHConfig)'
    linkageType: ''
    returnType: com.jcraft.jsch.OpenSSHConfig
    signature: '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].newBufferedReader(com.jcraft.jsch.OpenSSHConfig,com.jcraft.jsch.OpenSSHConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig:107,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].<init>(com.jcraft.jsch.OpenSSHConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      - java.util.Hashtable<String,java.util.Vector<String[]>>
      - java.util.Vector<String>
      - java.util.Hashtable<String,String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.ConfigRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.OpenSSHConfig
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - file
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: '[com.jcraft.jsch.OpenSSHConfig].parseFile(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfig].<init>(com.jcraft.jsch.OpenSSHConfig)'
    - '[java.nio.file.Files].newBufferedReader(com.jcraft.jsch.OpenSSHConfig,com.jcraft.jsch.OpenSSHConfig)'
    linkageType: ''
    returnType: com.jcraft.jsch.OpenSSHConfig
    signature: '[com.jcraft.jsch.OpenSSHConfig].parseFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.stream.Stream].of(String,String,String,String,String,String)'
      Src: com.jcraft.jsch.OpenSSHConfig:80,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].map()'
      Src: com.jcraft.jsch.OpenSSHConfig:80,1
    - Dst: '[java.util.stream.Collectors].toSet()'
      Src: com.jcraft.jsch.OpenSSHConfig:83,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].collect(com.jcraft.jsch.OpenSSHConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig:80,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig]._parse(java.io.BufferedReader)'
      Src: com.jcraft.jsch.OpenSSHConfig:113,1
    - Dst: '[java.util.Hashtable].<init>()'
      Src: com.jcraft.jsch.OpenSSHConfig:116,1
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.OpenSSHConfig:117,1
    - Dst: '[java.util.Hashtable].<init>()'
      Src: com.jcraft.jsch.OpenSSHConfig:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.BufferedReader
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      - java.util.Hashtable<String,java.util.Vector<String[]>>
      - java.util.Vector<String>
      - java.util.Hashtable<String,String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.ConfigRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.OpenSSHConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - br
    argTypes:
    - java.io.BufferedReader
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: '[com.jcraft.jsch.OpenSSHConfig].<init>(java.io.BufferedReader)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 0
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[java.util.stream.Stream].of(String,String,String,String,String,String)'
    - '[java.util.stream.Collectors].toSet()'
    - '[java.util.Hashtable].<init>()'
    - '[com.jcraft.jsch.OpenSSHConfig].map()'
    - '[com.jcraft.jsch.OpenSSHConfig].collect(com.jcraft.jsch.OpenSSHConfig)'
    - '[com.jcraft.jsch.OpenSSHConfig]._parse(java.io.BufferedReader)'
    linkageType: ''
    returnType: com.jcraft.jsch.OpenSSHConfig
    signature: '[com.jcraft.jsch.OpenSSHConfig].<init>(java.io.BufferedReader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.OpenSSHConfig:121,1
    - Dst: '[java.io.BufferedReader].readLine()'
      Src: com.jcraft.jsch.OpenSSHConfig:124,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].trim()'
      Src: com.jcraft.jsch.OpenSSHConfig:125,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].length()'
      Src: com.jcraft.jsch.OpenSSHConfig:126,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].startsWith(String)'
      Src: com.jcraft.jsch.OpenSSHConfig:126,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].split(String,int)'
      Src: com.jcraft.jsch.OpenSSHConfig:129,1
    - Dst: key_value[i].trim()
      Src: com.jcraft.jsch.OpenSSHConfig:131,1
    - Dst: key_value[0].equalsIgnoreCase(String)
      Src: com.jcraft.jsch.OpenSSHConfig:136,1
    - Dst: '[java.util.Hashtable<String,java.util.Vector<String[]>>].put(com.jcraft.jsch.OpenSSHConfig,java.util.Vector)'
      Src: com.jcraft.jsch.OpenSSHConfig:137,1
    - Dst: '[java.util.Vector<String>].addElement(com.jcraft.jsch.OpenSSHConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig:138,1
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.OpenSSHConfig:140,1
    - Dst: '[java.util.Vector].addElement(com.jcraft.jsch.OpenSSHConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig:142,1
    - Dst: '[java.util.Hashtable<String,java.util.Vector<String[]>>].put(com.jcraft.jsch.OpenSSHConfig,java.util.Vector)'
      Src: com.jcraft.jsch.OpenSSHConfig:145,1
    - Dst: '[java.util.Vector<String>].addElement(com.jcraft.jsch.OpenSSHConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.BufferedReader
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      - java.util.Hashtable<String,java.util.Vector<String[]>>
      - java.util.Vector<String>
      - java.util.Hashtable<String,String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - com.jcraft.jsch.ConfigRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - br
    argTypes:
    - java.io.BufferedReader
    constantsTouched: []
    func_position:
      end: 147
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 147
    functionName: '[com.jcraft.jsch.OpenSSHConfig]._parse(java.io.BufferedReader)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 1
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.OpenSSHConfig].length()'
    - key_value[0].equalsIgnoreCase(String)
    - key_value[i].trim()
    - '[java.util.Vector].addElement(com.jcraft.jsch.OpenSSHConfig)'
    - '[java.util.Hashtable<String,java.util.Vector<String[]>>].put(com.jcraft.jsch.OpenSSHConfig,java.util.Vector)'
    - '[java.util.Vector<String>].addElement(com.jcraft.jsch.OpenSSHConfig)'
    - '[com.jcraft.jsch.OpenSSHConfig].startsWith(String)'
    - '[com.jcraft.jsch.OpenSSHConfig].split(String,int)'
    - '[com.jcraft.jsch.OpenSSHConfig].trim()'
    - '[java.io.BufferedReader].readLine()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfig]._parse(java.io.BufferedReader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].<init>(String)'
      Src: com.jcraft.jsch.OpenSSHConfig:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      - java.util.Hashtable<String,java.util.Vector<String[]>>
      - java.util.Vector<String>
      - java.util.Hashtable<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.ConfigRepository
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Config
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 10
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].<init>(String)'
    linkageType: ''
    returnType: Config
    signature: '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      - java.util.Hashtable<String,java.util.Vector<String[]>>
      - java.util.Vector<String>
      - java.util.Hashtable<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.ConfigRepository
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Hashtable<String,String>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: '[com.jcraft.jsch.OpenSSHConfig].getKeymap()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.Hashtable<String,String>
    signature: '[com.jcraft.jsch.OpenSSHConfig].getKeymap()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:181,1
    - Dst: config.get(String)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:186,1
    - Dst: '[Vector<Vector<String[]>>].addElement(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:186,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:188,1
    - Dst: hosts.size()
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:189,1
    - Dst: hosts.size()
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:190,1
    - Dst: hosts.elementAt(com.jcraft.jsch.OpenSSHConfig.MyConfig)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:193,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].split(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:193,1
    - Dst: patterns[j].trim()
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:196,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].startsWith(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:197,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].substring(int)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:199,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].trim()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:199,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:201,1
    - Dst: '[com.jcraft.jsch.Util].glob(byte[],byte[])'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:201,1
    - Dst: hosts.elementAt(com.jcraft.jsch.OpenSSHConfig.MyConfig)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:211,1
    - Dst: config.get(com.jcraft.jsch.OpenSSHConfig.MyConfig)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:211,1
    - Dst: '[Vector<Vector<String[]>>].addElement(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Vector<Vector<String[]>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Config
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.OpenSSHConfig.MyConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 215
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 215
    functionName: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 1
    functionsReached:
    - patterns[j].trim()
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - hosts.size()
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].trim()'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].split(String)'
    - '[com.jcraft.jsch.Util].glob(byte[],byte[])'
    - '[Vector<Vector<String[]>>].addElement(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].startsWith(String)'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].substring(int)'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - hosts.elementAt(com.jcraft.jsch.OpenSSHConfig.MyConfig)
    - config.get(com.jcraft.jsch.OpenSSHConfig.MyConfig)
    - config.get(String)
    linkageType: ''
    returnType: com.jcraft.jsch.OpenSSHConfig.MyConfig
    signature: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keymap.get(String)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:219,1
    - Dst: keymap.get(String)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:220,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].toUpperCase(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:222,1
    - Dst: '[Vector<Vector<String[]>>].size()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:224,1
    - Dst: '[Vector<Vector<String[]>>].elementAt(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:225,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].size()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:226,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].elementAt(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:227,1
    - Dst: kv[0].toUpperCase(com.jcraft.jsch.OpenSSHConfig.MyConfig)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:228,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].equals(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:228,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].equals(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:237,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].equals(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:237,1
    - Dst: Integer.parseInt(com.jcraft.jsch.OpenSSHConfig.MyConfig)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:239,1
    - Dst: Integer.toString(int)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:240,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].logError(com.jcraft.jsch.OpenSSHConfig.MyConfig,com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:242,1
    - Dst: keysWithListAdoption.contains(com.jcraft.jsch.OpenSSHConfig.MyConfig)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:246,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].startsWith(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:247,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].startsWith(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:247,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].startsWith(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:247,1
    - Dst: '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:249,1
    - Dst: '[String].trim()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:249,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].startsWith(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:251,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].substring(int)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:252,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].trim()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:252,1
    - Dst: value.startsWith(String)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:253,1
    - Dst: '[com.jcraft.jsch.Util].split(com.jcraft.jsch.OpenSSHConfig.MyConfig,String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:255,1
    - Dst: '[java.util.Arrays].stream(String[])'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:255,1
    - Dst: '[java.util.stream.Collectors].toList()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:255,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].collect(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:255,1
    - Dst: value.substring(int)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:256,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].trim()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:256,1
    - Dst: '[com.jcraft.jsch.Util].split(com.jcraft.jsch.OpenSSHConfig.MyConfig,String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:256,1
    - Dst: alg.trim()
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:257,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].remove(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:257,1
    - Dst: String.join(String,com.jcraft.jsch.OpenSSHConfig.MyConfig)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:259,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].startsWith(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:260,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].substring(int)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:261,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].trim()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:261,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Vector<Vector<String[]>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Config
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 266
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 266
    functionName: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].find(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 4
    functionsReached:
    - alg.trim()
    - '[java.util.Arrays].stream(String[])'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].startsWith(String)'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].toUpperCase(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].collect(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - '[Vector<Vector<String[]>>].elementAt(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - '[com.jcraft.jsch.Util].split(com.jcraft.jsch.OpenSSHConfig.MyConfig,String)'
    - '[java.util.stream.Collectors].toList()'
    - keysWithListAdoption.contains(com.jcraft.jsch.OpenSSHConfig.MyConfig)
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].trim()'
    - value.substring(int)
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].equals(String)'
    - '[Vector<Vector<String[]>>].size()'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].size()'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].substring(int)'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].remove(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - keymap.get(String)
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].elementAt(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].equals(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - value.startsWith(String)
    - String.join(String,com.jcraft.jsch.OpenSSHConfig.MyConfig)
    - kv[0].toUpperCase(com.jcraft.jsch.OpenSSHConfig.MyConfig)
    - Integer.toString(int)
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].logError(com.jcraft.jsch.OpenSSHConfig.MyConfig,com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - '[com.jcraft.jsch.JSch].getConfig(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - Integer.parseInt(com.jcraft.jsch.OpenSSHConfig.MyConfig)
    - '[String].trim()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].find(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getLogger()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:269,1
    - Dst: '[NumberFormatException].getMessage()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:271,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.OpenSSHConfig.MyConfig,com.jcraft.jsch.OpenSSHConfig.MyConfig,NumberFormatException)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - NumberFormatException
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Vector<Vector<String[]>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Config
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - originalKey
    - e
    argTypes:
    - String
    - NumberFormatException
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].logError(String,NumberFormatException)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 0
    functionsReached:
    - '[NumberFormatException].getMessage()'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.OpenSSHConfig.MyConfig,com.jcraft.jsch.OpenSSHConfig.MyConfig,NumberFormatException)'
    - '[com.jcraft.jsch.JSch].getLogger()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].logError(String,NumberFormatException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].toUpperCase(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:277,1
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:278,1
    - Dst: '[Vector<Vector<String[]>>].size()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:279,1
    - Dst: '[Vector<Vector<String[]>>].elementAt(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:280,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].size()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:281,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].elementAt(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:282,1
    - Dst: kv[0].toUpperCase(com.jcraft.jsch.OpenSSHConfig.MyConfig)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:283,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].equals(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:283,1
    - Dst: '[java.util.Vector].remove(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:286,1
    - Dst: '[java.util.Vector].addElement(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:287,1
    - Dst: '[java.util.Vector].size()'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:292,1
    - Dst: '[java.util.Vector].toArray(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Vector<Vector<String[]>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Config
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 295
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 295
    functionName: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].multiFind(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 1
    functionsReached:
    - '[java.util.Vector].<init>()'
    - '[java.util.Vector].addElement(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - '[java.util.Vector].remove(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - '[java.util.Vector].size()'
    - '[Vector<Vector<String[]>>].size()'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].size()'
    - '[java.util.Vector].toArray(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - kv[0].toUpperCase(com.jcraft.jsch.OpenSSHConfig.MyConfig)
    - '[Vector<Vector<String[]>>].elementAt(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].elementAt(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].equals(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - '[String].toUpperCase(com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].multiFind(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].find(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Vector<Vector<String[]>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Config
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getHostname()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].find(String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getHostname()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].find(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Vector<Vector<String[]>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Config
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getUser()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].find(String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getUser()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].find(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:309,1
    - Dst: Integer.parseInt(com.jcraft.jsch.OpenSSHConfig.MyConfig)
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:312,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].logError(String,com.jcraft.jsch.OpenSSHConfig.MyConfig)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Vector<Vector<String[]>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Config
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 317
    functionName: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getPort()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].find(String)'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].logError(String,com.jcraft.jsch.OpenSSHConfig.MyConfig)'
    - Integer.parseInt(com.jcraft.jsch.OpenSSHConfig.MyConfig)
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:321,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:321,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].find(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:322,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].equals(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:323,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].find(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Vector<Vector<String[]>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Config
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 328
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 328
    functionName: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getValue(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].find(String)'
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].equals(String)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getValue(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].multiFind(String)'
      Src: com.jcraft.jsch.OpenSSHConfig.MyConfig:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Vector<Vector<String[]>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Config
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getValues(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].multiFind(String)'
    linkageType: ''
    returnType: String[]
    signature: '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getValues(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[com.jcraft.jsch.Random].fill(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Random.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Random].fill(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Random
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Random].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Random.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Random
    signature: '[com.jcraft.jsch.Random].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[com.jcraft.jsch.DHG16N].G()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG16N.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DHG16N].G()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: '[com.jcraft.jsch.DHG16N].P()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG16N.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.DHG16N].P()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.DHG16N
      static: false
      superClass: com.jcraft.jsch.DHGN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.DHG16N].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/DHG16N.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.DHG16N
    signature: '[com.jcraft.jsch.DHG16N].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailException].failString(int,String,String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailException:18,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailException:18,1
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailException].algorithmNameFromIndex(int)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailException:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSchAlgoNegoFailException
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 3
    argNames:
    - algorithmIndex
    - jschProposal
    - serverProposal
    argTypes:
    - int
    - String
    - String
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: '[com.jcraft.jsch.JSchAlgoNegoFailException].<init>(int,String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchAlgoNegoFailException.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchAlgoNegoFailException].algorithmNameFromIndex(int)'
    - '[com.jcraft.jsch.JSchAlgoNegoFailException].failString(int,String,String)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchAlgoNegoFailException
    signature: '[com.jcraft.jsch.JSchAlgoNegoFailException].<init>(int,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: '[com.jcraft.jsch.JSchAlgoNegoFailException].getAlgorithmName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchAlgoNegoFailException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.JSchAlgoNegoFailException].getAlgorithmName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.JSchAlgoNegoFailException].getJSchProposal()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchAlgoNegoFailException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.JSchAlgoNegoFailException].getJSchProposal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.JSchAlgoNegoFailException].getServerProposal()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchAlgoNegoFailException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.JSchAlgoNegoFailException].getServerProposal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchAlgoNegoFailException].algorithmNameFromIndex(int)'
      Src: com.jcraft.jsch.JSchAlgoNegoFailException:42,1
    - Dst: String.format(com.jcraft.jsch.JSchAlgoNegoFailException,String,String,String,String)
      Src: com.jcraft.jsch.JSchAlgoNegoFailException:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: com.jcraft.jsch.JSchException
    argCount: 3
    argNames:
    - algorithmIndex
    - jschProposal
    - serverProposal
    argTypes:
    - int
    - String
    - String
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.JSchAlgoNegoFailException].failString(int,String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchAlgoNegoFailException.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSchAlgoNegoFailException].algorithmNameFromIndex(int)'
    - String.format(com.jcraft.jsch.JSchAlgoNegoFailException,String,String,String,String)
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.JSchAlgoNegoFailException].failString(int,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: com.jcraft.jsch.JSchException
    argCount: 1
    argNames:
    - algorithmIndex
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: '[com.jcraft.jsch.JSchAlgoNegoFailException].algorithmNameFromIndex(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchAlgoNegoFailException.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.JSchAlgoNegoFailException].algorithmNameFromIndex(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairRSA].<init>(JSch.InstanceLogger,null,null,null)'
      Src: com.jcraft.jsch.KeyPairRSA:45,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairRSA:82,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairRSA:83,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairRSA:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPairRSA
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - instLogger
    argTypes:
    - JSch.InstanceLogger
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.KeyPairRSA].<init>(JSch.InstanceLogger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.KeyPairRSA].<init>(JSch.InstanceLogger,null,null,null)'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairRSA
    signature: '[com.jcraft.jsch.KeyPairRSA].<init>(JSch.InstanceLogger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].<init>(JSch.InstanceLogger)'
      Src: com.jcraft.jsch.KeyPairRSA:49,1
    - Dst: (new BigInteger(n_array)).bitLength()
      Src: com.jcraft.jsch.KeyPairRSA:54,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairRSA:82,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairRSA:83,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairRSA:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - byte[]
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPairRSA
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 4
    argNames:
    - instLogger
    - n_array
    - pub_array
    - prv_array
    argTypes:
    - JSch.InstanceLogger
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.KeyPairRSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.KeyPair].<init>(JSch.InstanceLogger)'
    - (new BigInteger(n_array)).bitLength()
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPairRSA
    signature: '[com.jcraft.jsch.KeyPairRSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairRSA:63,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairRSA:63,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].asSubclass()'
      Src: com.jcraft.jsch.KeyPairRSA:63,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairRSA:64,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].newInstance()'
      Src: com.jcraft.jsch.KeyPairRSA:64,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].init(int)'
      Src: com.jcraft.jsch.KeyPairRSA:65,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getE()'
      Src: com.jcraft.jsch.KeyPairRSA:66,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getD()'
      Src: com.jcraft.jsch.KeyPairRSA:67,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getN()'
      Src: com.jcraft.jsch.KeyPairRSA:68,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getP()'
      Src: com.jcraft.jsch.KeyPairRSA:70,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getQ()'
      Src: com.jcraft.jsch.KeyPairRSA:71,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getEP()'
      Src: com.jcraft.jsch.KeyPairRSA:72,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getEQ()'
      Src: com.jcraft.jsch.KeyPairRSA:73,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getC()'
      Src: com.jcraft.jsch.KeyPairRSA:74,1
    - Dst: e.toString()
      Src: com.jcraft.jsch.KeyPairRSA:78,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.KeyPairRSA].generate(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairRSA].getE()'
    - '[com.jcraft.jsch.KeyPairRSA].getD()'
    - '[com.jcraft.jsch.KeyPairRSA].newInstance()'
    - '[com.jcraft.jsch.KeyPairRSA].getN()'
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPairRSA].getP()'
    - '[com.jcraft.jsch.KeyPairRSA].init(int)'
    - '[com.jcraft.jsch.KeyPairRSA].getDeclaredConstructor()'
    - Class.forName(String)
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA)'
    - e.toString()
    - '[com.jcraft.jsch.KeyPairRSA].asSubclass()'
    - '[com.jcraft.jsch.KeyPairRSA].getQ()'
    - '[com.jcraft.jsch.KeyPairRSA].getC()'
    - '[com.jcraft.jsch.KeyPairRSA].getEQ()'
    - '[com.jcraft.jsch.KeyPairRSA].getEP()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairRSA].generate(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '[com.jcraft.jsch.KeyPairRSA].getBegin()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairRSA].getBegin()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[com.jcraft.jsch.KeyPairRSA].getEnd()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairRSA].getEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairRSA].countLength(int)'
      Src: com.jcraft.jsch.KeyPairRSA:97,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].countLength(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:98,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].countLength(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:99,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].countLength(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:100,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].countLength(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:101,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].countLength(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:102,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].countLength(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:103,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].countLength(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:104,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].countLength(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:105,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].countLength(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:107,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].writeSEQUENCE(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:111,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].writeINTEGER(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:112,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].writeINTEGER(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA,byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:113,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].writeINTEGER(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA,byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:114,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].writeINTEGER(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA,byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:115,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].writeINTEGER(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA,byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:116,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].writeINTEGER(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA,byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:117,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].writeINTEGER(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA,byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:118,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].writeINTEGER(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA,byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:119,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].writeINTEGER(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA,byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 60
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 122
    functionName: '[com.jcraft.jsch.KeyPairRSA].getPrivateKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairRSA].countLength(int)'
    - '[com.jcraft.jsch.KeyPairRSA].writeSEQUENCE(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA)'
    - '[com.jcraft.jsch.KeyPairRSA].writeINTEGER(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA)'
    - '[com.jcraft.jsch.KeyPairRSA].writeINTEGER(com.jcraft.jsch.KeyPairRSA,com.jcraft.jsch.KeyPairRSA,byte[])'
    - '[com.jcraft.jsch.KeyPairRSA].countLength(com.jcraft.jsch.KeyPairRSA)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairRSA].getPrivateKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getKeyTypeName()'
      Src: com.jcraft.jsch.KeyPairRSA:126,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:147,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:148,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:149,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:150,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:151,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:152,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:153,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:154,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:159,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 163
    functionName: '[com.jcraft.jsch.KeyPairRSA].getOpenSSHv1PrivateKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].<init>(com.jcraft.jsch.KeyPairRSA)'
    - '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
    - '[com.jcraft.jsch.KeyPairRSA].getKeyTypeName()'
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairRSA].getOpenSSHv1PrivateKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:173,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:174,1
    - Dst: '[com.jcraft.jsch.Buffer].getBytes(int,String)'
      Src: com.jcraft.jsch.KeyPairRSA:177,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairRSA:183,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].isEnabled(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:183,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairRSA:184,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].log(com.jcraft.jsch.KeyPairRSA,String,com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:184,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getEPArray()'
      Src: com.jcraft.jsch.KeyPairRSA:189,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getEQArray()'
      Src: com.jcraft.jsch.KeyPairRSA:190,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:197,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPIntBits()'
      Src: com.jcraft.jsch.KeyPairRSA:198,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPIntBits()'
      Src: com.jcraft.jsch.KeyPairRSA:199,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPIntBits()'
      Src: com.jcraft.jsch.KeyPairRSA:200,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPIntBits()'
      Src: com.jcraft.jsch.KeyPairRSA:201,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPIntBits()'
      Src: com.jcraft.jsch.KeyPairRSA:202,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPIntBits()'
      Src: com.jcraft.jsch.KeyPairRSA:203,1
    - Dst: (new BigInteger(n_array)).bitLength()
      Src: com.jcraft.jsch.KeyPairRSA:205,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getEPArray()'
      Src: com.jcraft.jsch.KeyPairRSA:208,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getEQArray()'
      Src: com.jcraft.jsch.KeyPairRSA:209,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getCArray()'
      Src: com.jcraft.jsch.KeyPairRSA:210,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairRSA:214,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].isEnabled(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:214,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairRSA:215,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].log(com.jcraft.jsch.KeyPairRSA,String)'
      Src: com.jcraft.jsch.KeyPairRSA:215,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:222,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPairRSA:223,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.KeyPairRSA:224,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairRSA:226,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairRSA:229,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:229,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.KeyPairRSA:230,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.KeyPairRSA:231,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.KeyPairRSA:232,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.KeyPairRSA:233,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.KeyPairRSA:234,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.KeyPairRSA:235,1
    - Dst: (new BigInteger(n_array)).bitLength()
      Src: com.jcraft.jsch.KeyPairRSA:236,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairRSA:237,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:237,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getEPArray()'
      Src: com.jcraft.jsch.KeyPairRSA:239,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getEQArray()'
      Src: com.jcraft.jsch.KeyPairRSA:240,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairRSA,byte[],int,com.jcraft.jsch.KeyPairRSA)
      Src: com.jcraft.jsch.KeyPairRSA:286,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairRSA,byte[],int,com.jcraft.jsch.KeyPairRSA)
      Src: com.jcraft.jsch.KeyPairRSA:299,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairRSA,byte[],int,com.jcraft.jsch.KeyPairRSA)
      Src: com.jcraft.jsch.KeyPairRSA:312,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairRSA,byte[],int,com.jcraft.jsch.KeyPairRSA)
      Src: com.jcraft.jsch.KeyPairRSA:325,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairRSA,byte[],int,com.jcraft.jsch.KeyPairRSA)
      Src: com.jcraft.jsch.KeyPairRSA:338,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairRSA,byte[],int,com.jcraft.jsch.KeyPairRSA)
      Src: com.jcraft.jsch.KeyPairRSA:351,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairRSA,byte[],int,com.jcraft.jsch.KeyPairRSA)
      Src: com.jcraft.jsch.KeyPairRSA:364,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.KeyPairRSA,byte[],int,com.jcraft.jsch.KeyPairRSA)
      Src: com.jcraft.jsch.KeyPairRSA:377,1
    - Dst: (new BigInteger(n_array)).bitLength()
      Src: com.jcraft.jsch.KeyPairRSA:381,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairRSA:385,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].isEnabled(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:385,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairRSA:386,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].log(com.jcraft.jsch.KeyPairRSA,String,com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:386,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 261
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - plain
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 391
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 391
    functionName: '[com.jcraft.jsch.KeyPairRSA].parse(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.KeyPairRSA].getEQArray()'
    - '[com.jcraft.jsch.Buffer].getMPInt()'
    - '[com.jcraft.jsch.KeyPairRSA].log(com.jcraft.jsch.KeyPairRSA,String,com.jcraft.jsch.KeyPairRSA)'
    - (new BigInteger(n_array)).bitLength()
    - '[com.jcraft.jsch.KeyPairRSA].isEnabled(com.jcraft.jsch.KeyPairRSA)'
    - instLogger.getLogger()
    - '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.KeyPairRSA)'
    - System.arraycopy(byte[],com.jcraft.jsch.KeyPairRSA,byte[],int,com.jcraft.jsch.KeyPairRSA)
    - '[com.jcraft.jsch.KeyPairRSA].getEPArray()'
    - '[com.jcraft.jsch.Buffer].getMPIntBits()'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[com.jcraft.jsch.KeyPairRSA].getCArray()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.KeyPairRSA].log(com.jcraft.jsch.KeyPairRSA,String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Buffer].getBytes(int,String)'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.KeyPairRSA].parse(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPairRSA:395,1
    - Dst: '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 406
    functionName: '[com.jcraft.jsch.KeyPairRSA].getPublicKeyBlob()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairRSA)'
    - '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairRSA].getPublicKeyBlob()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: '[com.jcraft.jsch.KeyPairRSA].getKeyTypeName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairRSA].getKeyTypeName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: '[com.jcraft.jsch.KeyPairRSA].getKeyType()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPairRSA].getKeyType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: '[com.jcraft.jsch.KeyPairRSA].getKeySize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.KeyPairRSA].getKeySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getSignature(byte[],String)'
      Src: com.jcraft.jsch.KeyPairRSA:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: '[com.jcraft.jsch.KeyPairRSA].getSignature(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairRSA].getSignature(byte[],String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairRSA].getSignature(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairRSA:434,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairRSA:434,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].asSubclass()'
      Src: com.jcraft.jsch.KeyPairRSA:434,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairRSA:435,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].newInstance()'
      Src: com.jcraft.jsch.KeyPairRSA:435,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].init()'
      Src: com.jcraft.jsch.KeyPairRSA:436,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].setPrvKey(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:437,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].update(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:439,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].sign()'
      Src: com.jcraft.jsch.KeyPairRSA:440,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.KeyPairRSA:442,1
    - Dst: '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:444,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairRSA:446,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].isEnabled(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:446,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairRSA:447,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].log(com.jcraft.jsch.KeyPairRSA,String,com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 2
    argNames:
    - data
    - alg
    argTypes:
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 451
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 451
    functionName: '[com.jcraft.jsch.KeyPairRSA].getSignature(byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].fromBytes(com.jcraft.jsch.KeyPairRSA)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.KeyPairRSA].log(com.jcraft.jsch.KeyPairRSA,String,com.jcraft.jsch.KeyPairRSA)'
    - '[com.jcraft.jsch.KeyPairRSA].isEnabled(com.jcraft.jsch.KeyPairRSA)'
    - '[com.jcraft.jsch.KeyPairRSA].newInstance()'
    - instLogger.getLogger()
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPairRSA].init()'
    - '[com.jcraft.jsch.KeyPairRSA].setPrvKey(byte[],byte[])'
    - '[com.jcraft.jsch.KeyPairRSA].sign()'
    - '[com.jcraft.jsch.KeyPairRSA].update(byte[])'
    - '[com.jcraft.jsch.KeyPairRSA].getDeclaredConstructor()'
    - Class.forName(String)
    - '[com.jcraft.jsch.KeyPairRSA].asSubclass()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairRSA].getSignature(byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getVerifier(String)'
      Src: com.jcraft.jsch.KeyPairRSA:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Signature
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 5
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: '[com.jcraft.jsch.KeyPairRSA].getVerifier()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KeyPairRSA].getVerifier(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.Signature
    signature: '[com.jcraft.jsch.KeyPairRSA].getVerifier()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getConfig(String)'
      Src: com.jcraft.jsch.KeyPairRSA:462,1
    - Dst: Class.forName(String)
      Src: com.jcraft.jsch.KeyPairRSA:462,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].asSubclass()'
      Src: com.jcraft.jsch.KeyPairRSA:462,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getDeclaredConstructor()'
      Src: com.jcraft.jsch.KeyPairRSA:463,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].newInstance()'
      Src: com.jcraft.jsch.KeyPairRSA:463,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].init()'
      Src: com.jcraft.jsch.KeyPairRSA:464,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPairRSA:466,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getPublicKeyBlob()'
      Src: com.jcraft.jsch.KeyPairRSA:467,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:467,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairRSA:468,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairRSA:469,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.KeyPairRSA:470,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].setPubKey(byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:473,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairRSA:476,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].isEnabled(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:476,1
    - Dst: instLogger.getLogger()
      Src: com.jcraft.jsch.KeyPairRSA:477,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].log(com.jcraft.jsch.KeyPairRSA,String,com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:477,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Signature
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 1
    argNames:
    - alg
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 481
      start: 458
    functionDepth: 4
    functionLinenumber: 458
    functionLinenumberEnd: 481
    functionName: '[com.jcraft.jsch.KeyPairRSA].getVerifier(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPairRSA].log(com.jcraft.jsch.KeyPairRSA,String,com.jcraft.jsch.KeyPairRSA)'
    - '[com.jcraft.jsch.KeyPairRSA].getPublicKeyBlob()'
    - '[com.jcraft.jsch.KeyPairRSA].isEnabled(com.jcraft.jsch.KeyPairRSA)'
    - '[com.jcraft.jsch.KeyPairRSA].newInstance()'
    - instLogger.getLogger()
    - '[com.jcraft.jsch.JSch].getConfig(String)'
    - '[com.jcraft.jsch.KeyPairRSA].init()'
    - '[com.jcraft.jsch.KeyPairRSA].getDeclaredConstructor()'
    - Class.forName(String)
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[com.jcraft.jsch.KeyPairRSA].asSubclass()'
    - '[com.jcraft.jsch.KeyPairRSA].setPubKey(byte[],byte[])'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: com.jcraft.jsch.Signature
    signature: '[com.jcraft.jsch.KeyPairRSA].getVerifier(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].getBytes(int,String)'
      Src: com.jcraft.jsch.KeyPairRSA:485,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:490,1
    - Dst: '[com.jcraft.jsch.Util].byte2str()'
      Src: com.jcraft.jsch.KeyPairRSA:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - JSch.InstanceLogger
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.KeyPair
      static: true
      superClass: com.jcraft.jsch.KeyPair
    argCount: 2
    argNames:
    - instLogger
    - buf
    argTypes:
    - JSch.InstanceLogger
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 497
      start: 483
    functionDepth: 4
    functionLinenumber: 483
    functionLinenumberEnd: 497
    functionName: '[com.jcraft.jsch.KeyPairRSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getBytes(int,String)'
    - '[com.jcraft.jsch.Util].byte2str()'
    - '[com.jcraft.jsch.KeyPairRSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.KeyPair
    signature: '[com.jcraft.jsch.KeyPairRSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPairRSA].isEncrypted()'
      Src: com.jcraft.jsch.KeyPairRSA:501,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.KeyPairRSA:502,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.KeyPairRSA:504,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:505,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:506,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:507,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:508,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].getCArray()'
      Src: com.jcraft.jsch.KeyPairRSA:509,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:509,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:510,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:511,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:512,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:512,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.KeyPairRSA:513,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPairRSA,int,com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 516
    functionName: '[com.jcraft.jsch.KeyPairRSA].forSSHAgent()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].getLength()'
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.KeyPairRSA,int,com.jcraft.jsch.KeyPairRSA)'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Util].str2byte(com.jcraft.jsch.KeyPairRSA)'
    - '[com.jcraft.jsch.KeyPairRSA].getCArray()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.KeyPairRSA].isEncrypted()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairRSA].forSSHAgent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:520,1
    - Dst: '[java.math.BigInteger].subtract(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:520,1
    - Dst: (new BigInteger(prv_array)).mod(com.jcraft.jsch.KeyPairRSA)
      Src: com.jcraft.jsch.KeyPairRSA:520,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].toByteArray()'
      Src: com.jcraft.jsch.KeyPairRSA:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 524
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 524
    functionName: '[com.jcraft.jsch.KeyPairRSA].getEPArray()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPairRSA].toByteArray()'
    - (new BigInteger(prv_array)).mod(com.jcraft.jsch.KeyPairRSA)
    - '[java.math.BigInteger].subtract(com.jcraft.jsch.KeyPairRSA)'
    - '[java.math.BigInteger].<init>(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairRSA].getEPArray()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:528,1
    - Dst: '[java.math.BigInteger].subtract(com.jcraft.jsch.KeyPairRSA)'
      Src: com.jcraft.jsch.KeyPairRSA:528,1
    - Dst: (new BigInteger(prv_array)).mod(com.jcraft.jsch.KeyPairRSA)
      Src: com.jcraft.jsch.KeyPairRSA:528,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].toByteArray()'
      Src: com.jcraft.jsch.KeyPairRSA:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 532
    functionName: '[com.jcraft.jsch.KeyPairRSA].getEQArray()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.KeyPairRSA].toByteArray()'
    - (new BigInteger(prv_array)).mod(com.jcraft.jsch.KeyPairRSA)
    - '[java.math.BigInteger].subtract(com.jcraft.jsch.KeyPairRSA)'
    - '[java.math.BigInteger].<init>(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairRSA].getEQArray()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:536,1
    - Dst: (new BigInteger(q_array)).modInverse(java.math.BigInteger)
      Src: com.jcraft.jsch.KeyPairRSA:536,1
    - Dst: '[com.jcraft.jsch.KeyPairRSA].toByteArray()'
      Src: com.jcraft.jsch.KeyPairRSA:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: '[com.jcraft.jsch.KeyPairRSA].getCArray()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.KeyPairRSA].toByteArray()'
    - '[java.math.BigInteger].<init>(byte[])'
    - (new BigInteger(q_array)).modInverse(java.math.BigInteger)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.KeyPairRSA].getCArray()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.KeyPair].dispose()'
      Src: com.jcraft.jsch.KeyPairRSA:543,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.KeyPairRSA:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - int
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.KeyPair
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: '[com.jcraft.jsch.KeyPairRSA].dispose()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - '[com.jcraft.jsch.KeyPair].dispose()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KeyPairRSA].dispose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.AgentProxy:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.AgentConnector
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.AgentConnector
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.AgentProxy
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connector
    argTypes:
    - com.jcraft.jsch.AgentConnector
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.AgentProxy].<init>(com.jcraft.jsch.AgentConnector)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentProxy.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    linkageType: ''
    returnType: com.jcraft.jsch.AgentProxy
    signature: '[com.jcraft.jsch.AgentProxy].<init>(com.jcraft.jsch.AgentConnector)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Vector].<init>()'
      Src: com.jcraft.jsch.AgentProxy:84,1
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.AgentProxy:87,1
    - Dst: '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.AgentProxy)'
      Src: com.jcraft.jsch.AgentProxy:88,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.AgentProxy:89,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.AgentProxy:90,1
    - Dst: '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.AgentProxy:93,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.AgentProxy:95,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.AgentProxy:96,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.AgentProxy:100,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.AgentProxy:108,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.AgentProxy:115,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.AgentProxy:116,1
    - Dst: '[com.jcraft.jsch.Util].byte2str(byte[])'
      Src: com.jcraft.jsch.AgentProxy:116,1
    - Dst: '[com.jcraft.jsch.AgentIdentity].<init>(byte[],String)'
      Src: com.jcraft.jsch.AgentProxy:117,1
    - Dst: '[java.util.Vector].add(com.jcraft.jsch.AgentIdentity)'
      Src: com.jcraft.jsch.AgentProxy:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.AgentConnector
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Vector<com.jcraft.jsch.Identity>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 121
    functionName: '[com.jcraft.jsch.AgentProxy].getIdentities()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentProxy.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.AgentProxy)'
    - '[java.util.Vector].<init>()'
    - '[com.jcraft.jsch.Util].byte2str(byte[])'
    - '[com.jcraft.jsch.AgentIdentity].<init>(byte[],String)'
    - '[java.util.Vector].add(com.jcraft.jsch.AgentIdentity)'
    - '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.Buffer].rewind()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Buffer].reset()'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: java.util.Vector<com.jcraft.jsch.Identity>
    signature: '[com.jcraft.jsch.AgentProxy].getIdentities()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.AgentProxy:126,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.AgentProxy:128,1
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.AgentProxy:134,1
    - Dst: '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.AgentProxy)'
      Src: com.jcraft.jsch.AgentProxy:135,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.AgentProxy:136,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.AgentProxy:137,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.AgentProxy:138,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.AgentProxy:139,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.AgentProxy)'
      Src: com.jcraft.jsch.AgentProxy:140,1
    - Dst: '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.AgentProxy:143,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.AgentProxy:145,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.AgentProxy:146,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.AgentProxy:149,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.AgentProxy:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.AgentConnector
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - blob
    - data
    - alg
    argTypes:
    - byte[]
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 158
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 158
    functionName: '[com.jcraft.jsch.AgentProxy].sign(byte[],byte[],String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentProxy.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.AgentProxy)'
    - '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].putInt(com.jcraft.jsch.AgentProxy)'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.Buffer].rewind()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].reset()'
    - '[com.jcraft.jsch.Buffer].getString()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.AgentProxy].sign(byte[],byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.AgentProxy:162,1
    - Dst: '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.AgentProxy)'
      Src: com.jcraft.jsch.AgentProxy:163,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.AgentProxy:164,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.AgentProxy:165,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.AgentProxy:166,1
    - Dst: '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.AgentProxy:169,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.AgentProxy:171,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.AgentProxy:172,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.AgentProxy:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.AgentConnector
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - blob
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 180
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 180
    functionName: '[com.jcraft.jsch.AgentProxy].removeIdentity(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentProxy.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.AgentProxy)'
    - '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.Buffer].rewind()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Buffer].reset()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.AgentProxy].removeIdentity(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.AgentProxy:184,1
    - Dst: '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.AgentProxy)'
      Src: com.jcraft.jsch.AgentProxy:185,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.AgentProxy:186,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.AgentProxy:187,1
    - Dst: '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.AgentProxy:190,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.AgentProxy:192,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.AgentProxy:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.AgentConnector
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 199
    functionName: '[com.jcraft.jsch.AgentProxy].removeAllIdentities()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentProxy.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.AgentProxy)'
    - '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].rewind()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Buffer].reset()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.AgentProxy].removeAllIdentities()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.AgentProxy:203,1
    - Dst: '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.AgentProxy)'
      Src: com.jcraft.jsch.AgentProxy:204,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.AgentProxy:205,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.AgentProxy:206,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte[])'
      Src: com.jcraft.jsch.AgentProxy:207,1
    - Dst: '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.AgentProxy:210,1
    - Dst: '[com.jcraft.jsch.Buffer].rewind()'
      Src: com.jcraft.jsch.AgentProxy:212,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.AgentProxy:213,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.AgentProxy:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.AgentConnector
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identity
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 221
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 221
    functionName: '[com.jcraft.jsch.AgentProxy].addIdentity(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentProxy.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.AgentProxy)'
    - '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.Buffer].rewind()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Buffer].reset()'
    - '[com.jcraft.jsch.Buffer].putByte(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.AgentProxy].addIdentity(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].reset()'
      Src: com.jcraft.jsch.AgentProxy:225,1
    - Dst: '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.AgentProxy)'
      Src: com.jcraft.jsch.AgentProxy:226,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.AgentProxy:227,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.AgentProxy:228,1
    - Dst: '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.AgentProxy:231,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte()'
      Src: com.jcraft.jsch.AgentProxy:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.AgentConnector
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 241
    functionName: '[com.jcraft.jsch.AgentProxy].isRunning()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentProxy.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].checkFreeSize(com.jcraft.jsch.AgentProxy)'
    - '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Buffer].getByte()'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.Buffer].reset()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.AgentProxy].isRunning()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - byte[]
      - com.jcraft.jsch.Buffer
      - com.jcraft.jsch.AgentConnector
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.AgentConnector
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: '[com.jcraft.jsch.AgentProxy].getConnector()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/AgentProxy.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.AgentConnector
    signature: '[com.jcraft.jsch.AgentProxy].getConnector()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.RequestShell:32,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.RequestShell:34,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.RequestShell:35,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.RequestShell:42,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestShell:43,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.RequestShell:44,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestShell:44,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestShell:45,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestShell:45,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestShell:46,1
    - Dst: '[com.jcraft.jsch.RequestShell].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.RequestShell:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 2
    argNames:
    - session
    - channel
    argTypes:
    - com.jcraft.jsch.Session
    - com.jcraft.jsch.Channel
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.RequestShell].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestShell.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - '[com.jcraft.jsch.RequestShell].write(com.jcraft.jsch.Packet)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestShell].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.RequestShell
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.RequestShell].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestShell.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.RequestShell
    signature: '[com.jcraft.jsch.RequestShell].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchHostKeyException].<init>()'
      Src: com.jcraft.jsch.JSchRevokedHostKeyException:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSchRevokedHostKeyException
      static: false
      superClass: com.jcraft.jsch.JSchHostKeyException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.JSchRevokedHostKeyException].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchRevokedHostKeyException.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchHostKeyException].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchRevokedHostKeyException
    signature: '[com.jcraft.jsch.JSchRevokedHostKeyException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchHostKeyException].<init>(String)'
      Src: com.jcraft.jsch.JSchRevokedHostKeyException:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSchRevokedHostKeyException
      static: false
      superClass: com.jcraft.jsch.JSchHostKeyException
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.JSchRevokedHostKeyException].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchRevokedHostKeyException.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.JSchHostKeyException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchRevokedHostKeyException
    signature: '[com.jcraft.jsch.JSchRevokedHostKeyException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Random
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - com.jcraft.jsch.Random
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.Packet].setRandom(com.jcraft.jsch.Random)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Packet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Packet].setRandom(com.jcraft.jsch.Random)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Buffer
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Packet
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - com.jcraft.jsch.Buffer
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Packet.java
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Packet
    signature: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.Packet].reset()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Packet.java
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Packet].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.Packet:65,1
    - Dst: '[com.jcraft.jsch.Random].fill(byte[],int,com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Packet:68,1
    - Dst: '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.Packet:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - bsize
    - includePktLen
    argTypes:
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 76
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.Packet].padding(int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Packet.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,int)
    - '[com.jcraft.jsch.Buffer].skip(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Random].fill(byte[],int,com.jcraft.jsch.Packet)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Packet].padding(int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.Packet,int,com.jcraft.jsch.Packet)
      Src: com.jcraft.jsch.Packet:90,1
    - Dst: System.arraycopy(byte[],int,byte[],com.jcraft.jsch.Packet,com.jcraft.jsch.Packet)
      Src: com.jcraft.jsch.Packet:101,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Packet:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - len
    - bsize
    - mac
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 107
    functionName: '[com.jcraft.jsch.Packet].shift(int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Packet.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,byte[],com.jcraft.jsch.Packet,com.jcraft.jsch.Packet)
    - System.arraycopy(byte[],int,com.jcraft.jsch.Packet,int,com.jcraft.jsch.Packet)
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.Packet].shift(int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,int,int)
      Src: com.jcraft.jsch.Packet:110,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Packet:113,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.Packet:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - command
    - recipient
    - s
    - len
    argTypes:
    - byte
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: '[com.jcraft.jsch.Packet].unshift(byte,int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Packet.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    - System.arraycopy(byte[],int,byte[],int,int,int)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Packet].unshift(byte,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.Random
      - com.jcraft.jsch.Buffer
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.Buffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: '[com.jcraft.jsch.Packet].getBuffer()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/Packet.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Buffer
    signature: '[com.jcraft.jsch.Packet].getBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 1
    argNames:
    - foo
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.RequestSignal].setSignal(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestSignal.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestSignal].setSignal(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
      Src: com.jcraft.jsch.RequestSignal:38,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.RequestSignal:40,1
    - Dst: '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
      Src: com.jcraft.jsch.RequestSignal:41,1
    - Dst: '[com.jcraft.jsch.Packet].reset()'
      Src: com.jcraft.jsch.RequestSignal:43,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestSignal:44,1
    - Dst: '[com.jcraft.jsch.Channel].getRecipient()'
      Src: com.jcraft.jsch.RequestSignal:45,1
    - Dst: '[com.jcraft.jsch.Buffer].putInt(int)'
      Src: com.jcraft.jsch.RequestSignal:45,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestSignal:46,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestSignal:46,1
    - Dst: '[com.jcraft.jsch.Buffer].putByte(byte)'
      Src: com.jcraft.jsch.RequestSignal:47,1
    - Dst: '[com.jcraft.jsch.Util].str2byte(String)'
      Src: com.jcraft.jsch.RequestSignal:48,1
    - Dst: '[com.jcraft.jsch.Buffer].putString(byte[])'
      Src: com.jcraft.jsch.RequestSignal:48,1
    - Dst: '[com.jcraft.jsch.RequestSignal].write(com.jcraft.jsch.Packet)'
      Src: com.jcraft.jsch.RequestSignal:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.Session
      - com.jcraft.jsch.Channel
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 2
    argNames:
    - session
    - channel
    argTypes:
    - com.jcraft.jsch.Session
    - com.jcraft.jsch.Channel
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: '[com.jcraft.jsch.RequestSignal].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestSignal.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
    - '[com.jcraft.jsch.Util].str2byte(String)'
    - '[com.jcraft.jsch.Packet].reset()'
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].putString(byte[])'
    - '[com.jcraft.jsch.Buffer].putByte(byte)'
    - '[com.jcraft.jsch.RequestSignal].write(com.jcraft.jsch.Packet)'
    - '[com.jcraft.jsch.Channel].getRecipient()'
    - '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
    - '[com.jcraft.jsch.Buffer].putInt(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.RequestSignal].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.RequestSignal
      static: false
      superClass: com.jcraft.jsch.Request
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.RequestSignal].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/RequestSignal.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.RequestSignal
    signature: '[com.jcraft.jsch.RequestSignal].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>()'
      Src: com.jcraft.jsch.JSchAuthCancelException:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSchAuthCancelException
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.JSchAuthCancelException].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchAuthCancelException.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchAuthCancelException
    signature: '[com.jcraft.jsch.JSchAuthCancelException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.JSchAuthCancelException:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.JSchAuthCancelException
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.JSchAuthCancelException].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchAuthCancelException.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.JSchAuthCancelException
    signature: '[com.jcraft.jsch.JSchAuthCancelException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.JSchException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.JSchAuthCancelException].getMethod()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/JSchAuthCancelException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.JSchAuthCancelException].getMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].<init>()'
      Src: com.jcraft.jsch.jzlib.Deflater:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Deflater
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[com.jcraft.jsch.jzlib.Deflater].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Deflater
    signature: '[com.jcraft.jsch.jzlib.Deflater].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int)'
      Src: com.jcraft.jsch.jzlib.Deflater:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.jzlib.GZIPException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Deflater
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 9
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: '[com.jcraft.jsch.jzlib.Deflater].<init>(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Deflater
    signature: '[com.jcraft.jsch.jzlib.Deflater].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,boolean)'
      Src: com.jcraft.jsch.jzlib.Deflater:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.jzlib.GZIPException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Deflater
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 2
    argNames:
    - level
    - nowrap
    argTypes:
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 8
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '[com.jcraft.jsch.jzlib.Deflater].<init>(int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,boolean)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Deflater
    signature: '[com.jcraft.jsch.jzlib.Deflater].<init>(int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,boolean)'
      Src: com.jcraft.jsch.jzlib.Deflater:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.jzlib.GZIPException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Deflater
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 2
    argNames:
    - level
    - bits
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 8
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,boolean)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Deflater
    signature: '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].<init>()'
      Src: com.jcraft.jsch.jzlib.Deflater:75,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].init(int,int,boolean)'
      Src: com.jcraft.jsch.jzlib.Deflater:76,1
    - Dst: '[com.jcraft.jsch.jzlib.GZIPException].<init>(com.jcraft.jsch.jzlib.Deflater)'
      Src: com.jcraft.jsch.jzlib.Deflater:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.jzlib.GZIPException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Deflater
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 3
    argNames:
    - level
    - bits
    - nowrap
    argTypes:
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 7
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].<init>()'
    - '[com.jcraft.jsch.jzlib.GZIPException].<init>(com.jcraft.jsch.jzlib.Deflater)'
    - '[com.jcraft.jsch.jzlib.Deflater].init(int,int,boolean)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Deflater
    signature: '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].<init>()'
      Src: com.jcraft.jsch.jzlib.Deflater:82,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].init(int,int,int,JZlib.WrapperType)'
      Src: com.jcraft.jsch.jzlib.Deflater:83,1
    - Dst: '[com.jcraft.jsch.jzlib.GZIPException].<init>(com.jcraft.jsch.jzlib.Deflater)'
      Src: com.jcraft.jsch.jzlib.Deflater:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - JZlib.WrapperType
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.jzlib.GZIPException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Deflater
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 4
    argNames:
    - level
    - bits
    - memlevel
    - wrapperType
    argTypes:
    - int
    - int
    - int
    - JZlib.WrapperType
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,int,JZlib.WrapperType)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].<init>()'
    - '[com.jcraft.jsch.jzlib.GZIPException].<init>(com.jcraft.jsch.jzlib.Deflater)'
    - '[com.jcraft.jsch.jzlib.Deflater].init(int,int,int,JZlib.WrapperType)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Deflater
    signature: '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,int,JZlib.WrapperType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].<init>()'
      Src: com.jcraft.jsch.jzlib.Deflater:89,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].init(int,int,int)'
      Src: com.jcraft.jsch.jzlib.Deflater:90,1
    - Dst: '[com.jcraft.jsch.jzlib.GZIPException].<init>(com.jcraft.jsch.jzlib.Deflater)'
      Src: com.jcraft.jsch.jzlib.Deflater:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.jzlib.GZIPException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Deflater
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 3
    argNames:
    - level
    - bits
    - memlevel
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 6
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].<init>()'
    - '[com.jcraft.jsch.jzlib.Deflater].init(int,int,int)'
    - '[com.jcraft.jsch.jzlib.GZIPException].<init>(com.jcraft.jsch.jzlib.Deflater)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Deflater
    signature: '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].init(int,int)'
      Src: com.jcraft.jsch.jzlib.Deflater:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 8
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[com.jcraft.jsch.jzlib.Deflater].init(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflater].init(int,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflater].init(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].init(int,int,boolean)'
      Src: com.jcraft.jsch.jzlib.Deflater:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 2
    argNames:
    - level
    - nowrap
    argTypes:
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 7
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: '[com.jcraft.jsch.jzlib.Deflater].init(int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflater].init(int,int,boolean)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflater].init(int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].init(int,int,boolean)'
      Src: com.jcraft.jsch.jzlib.Deflater:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 2
    argNames:
    - level
    - bits
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 7
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: '[com.jcraft.jsch.jzlib.Deflater].init(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflater].init(int,int,boolean)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflater].init(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].init(int,com.jcraft.jsch.jzlib.Deflater,int)'
      Src: com.jcraft.jsch.jzlib.Deflater:119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - JZlib.WrapperType
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 4
    argNames:
    - level
    - bits
    - memlevel
    - wrapperType
    argTypes:
    - int
    - int
    - int
    - JZlib.WrapperType
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: '[com.jcraft.jsch.jzlib.Deflater].init(int,int,int,JZlib.WrapperType)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflater].init(int,com.jcraft.jsch.jzlib.Deflater,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflater].init(int,int,int,JZlib.WrapperType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].<init>()'
      Src: com.jcraft.jsch.jzlib.Deflater:124,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int,int)'
      Src: com.jcraft.jsch.jzlib.Deflater:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 3
    argNames:
    - level
    - bits
    - memlevel
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: '[com.jcraft.jsch.jzlib.Deflater].init(int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int,int)'
    - '[com.jcraft.jsch.jzlib.Deflate].<init>()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflater].init(int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].<init>()'
      Src: com.jcraft.jsch.jzlib.Deflater:130,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int)'
      Src: com.jcraft.jsch.jzlib.Deflater:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 3
    argNames:
    - level
    - bits
    - nowrap
    argTypes:
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: '[com.jcraft.jsch.jzlib.Deflater].init(int,int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].<init>()'
    - '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflater].init(int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dstate.deflate(int)
      Src: com.jcraft.jsch.jzlib.Deflater:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 1
    argNames:
    - flush
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: '[com.jcraft.jsch.jzlib.Deflater].deflate(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 3
    functionsReached:
    - dstate.deflate(int)
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflater].deflate(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dstate.deflateEnd()
      Src: com.jcraft.jsch.jzlib.Deflater:150,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].free()'
      Src: com.jcraft.jsch.jzlib.Deflater:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: '[com.jcraft.jsch.jzlib.Deflater].end()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 7
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflater].free()'
    - dstate.deflateEnd()
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflater].end()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dstate.deflateParams(int,int)
      Src: com.jcraft.jsch.jzlib.Deflater:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 2
    argNames:
    - level
    - strategy
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: '[com.jcraft.jsch.jzlib.Deflater].params(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 0
    functionsReached:
    - dstate.deflateParams(int,int)
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflater].params(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dstate.deflateSetDictionary(byte[],int)
      Src: com.jcraft.jsch.jzlib.Deflater:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 2
    argNames:
    - dictionary
    - dictLength
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: '[com.jcraft.jsch.jzlib.Deflater].setDictionary(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 0
    functionsReached:
    - dstate.deflateSetDictionary(byte[],int)
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflater].setDictionary(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '[com.jcraft.jsch.jzlib.Deflater].finished()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jzlib.Deflater].finished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflateCopy(com.jcraft.jsch.jzlib.Deflater)'
      Src: com.jcraft.jsch.jzlib.Deflater:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.jzlib.Deflater
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 1
    argNames:
    - src
    argTypes:
    - com.jcraft.jsch.jzlib.Deflater
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: '[com.jcraft.jsch.jzlib.Deflater].copy(com.jcraft.jsch.jzlib.Deflater)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].deflateCopy(com.jcraft.jsch.jzlib.Deflater)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflater].copy(com.jcraft.jsch.jzlib.Deflater)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].<init>()'
      Src: com.jcraft.jsch.jzlib.Inflater:61,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init()'
      Src: com.jcraft.jsch.jzlib.Inflater:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Inflater
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[com.jcraft.jsch.jzlib.Inflater].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].init()'
    - '[com.jcraft.jsch.jzlib.ZStream].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Inflater
    signature: '[com.jcraft.jsch.jzlib.Inflater].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].<init>(int,JZlib.WrapperType)'
      Src: com.jcraft.jsch.jzlib.Inflater:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - JZlib.WrapperType
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.jzlib.GZIPException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Inflater
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 1
    argNames:
    - wrapperType
    argTypes:
    - JZlib.WrapperType
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: '[com.jcraft.jsch.jzlib.Inflater].<init>(JZlib.WrapperType)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].<init>(int,JZlib.WrapperType)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Inflater
    signature: '[com.jcraft.jsch.jzlib.Inflater].<init>(JZlib.WrapperType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].<init>()'
      Src: com.jcraft.jsch.jzlib.Inflater:70,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init(int,JZlib.WrapperType)'
      Src: com.jcraft.jsch.jzlib.Inflater:73,1
    - Dst: '[com.jcraft.jsch.jzlib.GZIPException].<init>(com.jcraft.jsch.jzlib.Inflater)'
      Src: com.jcraft.jsch.jzlib.Inflater:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - JZlib.WrapperType
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.jzlib.GZIPException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Inflater
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 2
    argNames:
    - w
    - wrapperType
    argTypes:
    - int
    - JZlib.WrapperType
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.jzlib.Inflater].<init>(int,JZlib.WrapperType)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].init(int,JZlib.WrapperType)'
    - '[com.jcraft.jsch.jzlib.ZStream].<init>()'
    - '[com.jcraft.jsch.jzlib.GZIPException].<init>(com.jcraft.jsch.jzlib.Inflater)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Inflater
    signature: '[com.jcraft.jsch.jzlib.Inflater].<init>(int,JZlib.WrapperType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].<init>(int,boolean)'
      Src: com.jcraft.jsch.jzlib.Inflater:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.jzlib.GZIPException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Inflater
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 1
    argNames:
    - w
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.jzlib.Inflater].<init>(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].<init>(int,boolean)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Inflater
    signature: '[com.jcraft.jsch.jzlib.Inflater].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].<init>(int,boolean)'
      Src: com.jcraft.jsch.jzlib.Inflater:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.jzlib.GZIPException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Inflater
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 1
    argNames:
    - nowrap
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: '[com.jcraft.jsch.jzlib.Inflater].<init>(boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].<init>(int,boolean)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Inflater
    signature: '[com.jcraft.jsch.jzlib.Inflater].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].<init>()'
      Src: com.jcraft.jsch.jzlib.Inflater:87,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init(int,boolean)'
      Src: com.jcraft.jsch.jzlib.Inflater:90,1
    - Dst: '[com.jcraft.jsch.jzlib.GZIPException].<init>(com.jcraft.jsch.jzlib.Inflater)'
      Src: com.jcraft.jsch.jzlib.Inflater:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - com.jcraft.jsch.jzlib.GZIPException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Inflater
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 2
    argNames:
    - w
    - nowrap
    argTypes:
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: '[com.jcraft.jsch.jzlib.Inflater].<init>(int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].init(int,boolean)'
    - '[com.jcraft.jsch.jzlib.GZIPException].<init>(com.jcraft.jsch.jzlib.Inflater)'
    - '[com.jcraft.jsch.jzlib.ZStream].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Inflater
    signature: '[com.jcraft.jsch.jzlib.Inflater].<init>(int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init(int,JZlib.WrapperType)'
      Src: com.jcraft.jsch.jzlib.Inflater:98,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init(int,boolean)'
      Src: com.jcraft.jsch.jzlib.Inflater:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: '[com.jcraft.jsch.jzlib.Inflater].reset()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].init(int,boolean)'
    - '[com.jcraft.jsch.jzlib.Inflater].init(int,JZlib.WrapperType)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Inflater].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init(int)'
      Src: com.jcraft.jsch.jzlib.Inflater:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: '[com.jcraft.jsch.jzlib.Inflater].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 5
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].init(int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflater].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init(int,JZlib.WrapperType)'
      Src: com.jcraft.jsch.jzlib.Inflater:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - JZlib.WrapperType
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 1
    argNames:
    - wrapperType
    argTypes:
    - JZlib.WrapperType
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: '[com.jcraft.jsch.jzlib.Inflater].init(JZlib.WrapperType)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].init(int,JZlib.WrapperType)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflater].init(JZlib.WrapperType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init(com.jcraft.jsch.jzlib.Inflater,com.jcraft.jsch.jzlib.Inflater)'
      Src: com.jcraft.jsch.jzlib.Inflater:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - JZlib.WrapperType
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 2
    argNames:
    - w
    - wrapperType
    argTypes:
    - int
    - JZlib.WrapperType
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: '[com.jcraft.jsch.jzlib.Inflater].init(int,JZlib.WrapperType)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].init(com.jcraft.jsch.jzlib.Inflater,com.jcraft.jsch.jzlib.Inflater)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflater].init(int,JZlib.WrapperType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init(int,boolean)'
      Src: com.jcraft.jsch.jzlib.Inflater:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 1
    argNames:
    - nowrap
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: '[com.jcraft.jsch.jzlib.Inflater].init(boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].init(int,boolean)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflater].init(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].init(int,boolean)'
      Src: com.jcraft.jsch.jzlib.Inflater:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 1
    argNames:
    - w
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: '[com.jcraft.jsch.jzlib.Inflater].init(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].init(int,boolean)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflater].init(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].<init>()'
      Src: com.jcraft.jsch.jzlib.Inflater:137,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].inflateInit()'
      Src: com.jcraft.jsch.jzlib.Inflater:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 2
    argNames:
    - w
    - nowrap
    argTypes:
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: '[com.jcraft.jsch.jzlib.Inflater].init(int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflate].inflateInit()'
    - '[com.jcraft.jsch.jzlib.Inflate].<init>()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflater].init(int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istate.inflate(int)
      Src: com.jcraft.jsch.jzlib.Inflater:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 1
    argNames:
    - f
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: '[com.jcraft.jsch.jzlib.Inflater].inflate(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 5
    functionsReached:
    - istate.inflate(int)
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflater].inflate(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istate.inflateEnd()
      Src: com.jcraft.jsch.jzlib.Inflater:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: '[com.jcraft.jsch.jzlib.Inflater].end()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 9
    functionsReached:
    - istate.inflateEnd()
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflater].end()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istate.inflateSync()
      Src: com.jcraft.jsch.jzlib.Inflater:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: '[com.jcraft.jsch.jzlib.Inflater].sync()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 1
    functionsReached:
    - istate.inflateSync()
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflater].sync()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istate.inflateSyncPoint()
      Src: com.jcraft.jsch.jzlib.Inflater:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: '[com.jcraft.jsch.jzlib.Inflater].syncPoint()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 0
    functionsReached:
    - istate.inflateSyncPoint()
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflater].syncPoint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istate.inflateSetDictionary(byte[],int)
      Src: com.jcraft.jsch.jzlib.Inflater:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 2
    argNames:
    - dictionary
    - dictLength
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: '[com.jcraft.jsch.jzlib.Inflater].setDictionary(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 0
    functionsReached:
    - istate.inflateSetDictionary(byte[],int)
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflater].setDictionary(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - JZlib.WrapperType
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: com.jcraft.jsch.jzlib.ZStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: '[com.jcraft.jsch.jzlib.Inflater].finished()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jzlib.Inflater].finished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(int[],int,int[],int,int)
      Src: com.jcraft.jsch.jzlib.InfTree:292,1
    - Dst: System.arraycopy(int[],int,int[],int,int)
      Src: com.jcraft.jsch.jzlib.InfTree:313,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 177
    JavaMethodInfo:
      argumentGenericTypes:
      - int[]
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 11
    argNames:
    - b
    - bindex
    - n
    - s
    - d
    - e
    - t
    - m
    - hp
    - hn
    - v
    argTypes:
    - int[]
    - int
    - int
    - int
    - int[]
    - int[]
    - int[]
    - int[]
    - int[]
    - int[]
    - int[]
    constantsTouched: []
    func_position:
      end: 333
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 333
    functionName: '[com.jcraft.jsch.jzlib.InfTree].huft_build(int[],int,int,int,int[],int[],int[],int[],int[],int[],int[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfTree.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(int[],int,int[],int,int)
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.InfTree].huft_build(int[],int,int,int,int[],int[],int[],int[],int[],int[],int[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.InfTree].initWorkArea(int)'
      Src: com.jcraft.jsch.jzlib.InfTree:342,1
    - Dst: '[com.jcraft.jsch.jzlib.InfTree].huft_build(int[],int,int,int,null,null,int[],int[],int[],int[],int[])'
      Src: com.jcraft.jsch.jzlib.InfTree:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int[]
      - int[]
      - int[]
      - int[]
      - com.jcraft.jsch.jzlib.ZStream
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - c
    - bb
    - tb
    - hp
    - z
    argTypes:
    - int[]
    - int[]
    - int[]
    - int[]
    - com.jcraft.jsch.jzlib.ZStream
    constantsTouched: []
    func_position:
      end: 353
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 353
    functionName: '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_bits(int[],int[],int[],int[],com.jcraft.jsch.jzlib.ZStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfTree.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.InfTree].initWorkArea(int)'
    - '[com.jcraft.jsch.jzlib.InfTree].huft_build(int[],int,int,int,null,null,int[],int[],int[],int[],int[])'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_bits(int[],int[],int[],int[],com.jcraft.jsch.jzlib.ZStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.InfTree].initWorkArea(int)'
      Src: com.jcraft.jsch.jzlib.InfTree:368,1
    - Dst: '[com.jcraft.jsch.jzlib.InfTree].huft_build(int[],int,int,int,int[],int[],int[],int[],int[],int[],int[])'
      Src: com.jcraft.jsch.jzlib.InfTree:370,1
    - Dst: '[com.jcraft.jsch.jzlib.InfTree].initWorkArea(int)'
      Src: com.jcraft.jsch.jzlib.InfTree:382,1
    - Dst: '[com.jcraft.jsch.jzlib.InfTree].huft_build(int[],int,int,int,int[],int[],int[],int[],int[],int[],int[])'
      Src: com.jcraft.jsch.jzlib.InfTree:383,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - com.jcraft.jsch.jzlib.ZStream
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 9
    argNames:
    - nl
    - nd
    - c
    - bl
    - bd
    - tl
    - td
    - hp
    - z
    argTypes:
    - int
    - int
    - int[]
    - int[]
    - int[]
    - int[]
    - int[]
    - int[]
    - com.jcraft.jsch.jzlib.ZStream
    constantsTouched: []
    func_position:
      end: 399
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 399
    functionName: '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_dynamic(int,int,int[],int[],int[],int[],int[],int[],com.jcraft.jsch.jzlib.ZStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfTree.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.InfTree].initWorkArea(int)'
    - '[com.jcraft.jsch.jzlib.InfTree].huft_build(int[],int,int,int,int[],int[],int[],int[],int[],int[],int[])'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_dynamic(int,int,int[],int[],int[],int[],int[],int[],com.jcraft.jsch.jzlib.ZStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int[]
      - int[]
      - int[][]
      - int[][]
      - com.jcraft.jsch.jzlib.ZStream
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - bl
    - bd
    - tl
    - td
    - z
    argTypes:
    - int[]
    - int[]
    - int[][]
    - int[][]
    - com.jcraft.jsch.jzlib.ZStream
    constantsTouched: []
    func_position:
      end: 412
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 412
    functionName: '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_fixed(int[],int[],int[][],int[][],com.jcraft.jsch.jzlib.ZStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfTree.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_fixed(int[],int[],int[][],int[][],com.jcraft.jsch.jzlib.ZStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(int[],int,int[],int,int)
      Src: com.jcraft.jsch.jzlib.InfTree:435,1
    - Dst: System.arraycopy(int[],int,int[],int,int)
      Src: com.jcraft.jsch.jzlib.InfTree:436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - vsize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 437
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 437
    functionName: '[com.jcraft.jsch.jzlib.InfTree].initWorkArea(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfTree.java
    functionUses: 2
    functionsReached:
    - System.arraycopy(int[],int,int[],int,int)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.InfTree].initWorkArea(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.InfTree
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.InfTree].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfTree.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.InfTree
    signature: '[com.jcraft.jsch.jzlib.InfTree].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].<init>()'
      Src: com.jcraft.jsch.jzlib.ZStream:76,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].<init>(com.jcraft.jsch.jzlib.Adler32)'
      Src: com.jcraft.jsch.jzlib.ZStream:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.ZStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: '[com.jcraft.jsch.jzlib.ZStream].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 9
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].<init>(com.jcraft.jsch.jzlib.Adler32)'
    - '[com.jcraft.jsch.jzlib.Adler32].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.ZStream
    signature: '[com.jcraft.jsch.jzlib.ZStream].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.jzlib.Checksum
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.ZStream
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - adler
    argTypes:
    - com.jcraft.jsch.jzlib.Checksum
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.jzlib.ZStream].<init>(com.jcraft.jsch.jzlib.Checksum)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.ZStream
    signature: '[com.jcraft.jsch.jzlib.ZStream].<init>(com.jcraft.jsch.jzlib.Checksum)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int)'
      Src: com.jcraft.jsch.jzlib.ZStream:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: '[com.jcraft.jsch.jzlib.ZStream].inflateInit()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].inflateInit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int,boolean)'
      Src: com.jcraft.jsch.jzlib.ZStream:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - nowrap
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int,boolean)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int,boolean)'
      Src: com.jcraft.jsch.jzlib.ZStream:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - w
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int,boolean)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int,JZlib.WrapperType)'
      Src: com.jcraft.jsch.jzlib.ZStream:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - JZlib.WrapperType
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - wrapperType
    argTypes:
    - JZlib.WrapperType
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(JZlib.WrapperType)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int,JZlib.WrapperType)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(JZlib.WrapperType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(com.jcraft.jsch.jzlib.ZStream,com.jcraft.jsch.jzlib.ZStream)'
      Src: com.jcraft.jsch.jzlib.ZStream:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - JZlib.WrapperType
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - w
    - wrapperType
    argTypes:
    - int
    - JZlib.WrapperType
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int,JZlib.WrapperType)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].inflateInit(com.jcraft.jsch.jzlib.ZStream,com.jcraft.jsch.jzlib.ZStream)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int,JZlib.WrapperType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].<init>()'
      Src: com.jcraft.jsch.jzlib.ZStream:113,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].inflateInit()'
      Src: com.jcraft.jsch.jzlib.ZStream:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - w
    - nowrap
    argTypes:
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflate].inflateInit()'
    - '[com.jcraft.jsch.jzlib.Inflate].<init>()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].inflate(int)'
      Src: com.jcraft.jsch.jzlib.ZStream:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - f
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: '[com.jcraft.jsch.jzlib.ZStream].inflate(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflate].inflate(int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].inflate(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].inflateEnd()'
      Src: com.jcraft.jsch.jzlib.ZStream:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: '[com.jcraft.jsch.jzlib.ZStream].inflateEnd()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflate].inflateEnd()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].inflateEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].inflateSync()'
      Src: com.jcraft.jsch.jzlib.ZStream:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: '[com.jcraft.jsch.jzlib.ZStream].inflateSync()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflate].inflateSync()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].inflateSync()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].inflateSyncPoint()'
      Src: com.jcraft.jsch.jzlib.ZStream:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: '[com.jcraft.jsch.jzlib.ZStream].inflateSyncPoint()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflate].inflateSyncPoint()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].inflateSyncPoint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].inflateSetDictionary(byte[],int)'
      Src: com.jcraft.jsch.jzlib.ZStream:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - dictionary
    - dictLength
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: '[com.jcraft.jsch.jzlib.ZStream].inflateSetDictionary(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflate].inflateSetDictionary(byte[],int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].inflateSetDictionary(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: '[com.jcraft.jsch.jzlib.ZStream].inflateFinished()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jzlib.ZStream].inflateFinished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int)'
      Src: com.jcraft.jsch.jzlib.ZStream:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 8
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int,boolean)'
      Src: com.jcraft.jsch.jzlib.ZStream:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - nowrap
    argTypes:
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 7
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int,boolean)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int,boolean)'
      Src: com.jcraft.jsch.jzlib.ZStream:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - bits
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 7
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int,boolean)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,com.jcraft.jsch.jzlib.ZStream,int)'
      Src: com.jcraft.jsch.jzlib.ZStream:177,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - JZlib.WrapperType
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - level
    - bits
    - memlevel
    - wrapperType
    argTypes:
    - int
    - int
    - int
    - JZlib.WrapperType
    constantsTouched: []
    func_position:
      end: 178
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 178
    functionName: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int,int,JZlib.WrapperType)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,com.jcraft.jsch.jzlib.ZStream,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int,int,JZlib.WrapperType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].<init>()'
      Src: com.jcraft.jsch.jzlib.ZStream:181,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int,int)'
      Src: com.jcraft.jsch.jzlib.ZStream:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - level
    - bits
    - memlevel
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 5
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int,int)'
    - '[com.jcraft.jsch.jzlib.Deflate].<init>()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].<init>()'
      Src: com.jcraft.jsch.jzlib.ZStream:186,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int)'
      Src: com.jcraft.jsch.jzlib.ZStream:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - level
    - bits
    - nowrap
    argTypes:
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 6
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].<init>()'
    - '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflate(int)'
      Src: com.jcraft.jsch.jzlib.ZStream:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - flush
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: '[com.jcraft.jsch.jzlib.ZStream].deflate(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].deflate(int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].deflate(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflateEnd()'
      Src: com.jcraft.jsch.jzlib.ZStream:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: '[com.jcraft.jsch.jzlib.ZStream].deflateEnd()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].deflateEnd()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].deflateEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflateParams(int,int)'
      Src: com.jcraft.jsch.jzlib.ZStream:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - strategy
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 7
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: '[com.jcraft.jsch.jzlib.ZStream].deflateParams(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].deflateParams(int,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].deflateParams(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflateSetDictionary(byte[],int)'
      Src: com.jcraft.jsch.jzlib.ZStream:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - dictionary
    - dictLength
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: '[com.jcraft.jsch.jzlib.ZStream].deflateSetDictionary(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].deflateSetDictionary(byte[],int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].deflateSetDictionary(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.jzlib.ZStream)
      Src: com.jcraft.jsch.jzlib.ZStream:237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 247
    functionName: '[com.jcraft.jsch.jzlib.ZStream].flush_pending()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 2
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.jzlib.ZStream)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.ZStream].flush_pending()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,com.jcraft.jsch.jzlib.ZStream)'
      Src: com.jcraft.jsch.jzlib.ZStream:265,1
    - Dst: System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.jzlib.ZStream)
      Src: com.jcraft.jsch.jzlib.ZStream:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - start
    - size
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 271
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 271
    functionName: '[com.jcraft.jsch.jzlib.ZStream].read_buf(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,com.jcraft.jsch.jzlib.ZStream)'
    - System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.jzlib.ZStream)
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].read_buf(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].getValue()'
      Src: com.jcraft.jsch.jzlib.ZStream:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: '[com.jcraft.jsch.jzlib.ZStream].getAdler()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Checksum].getValue()'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.ZStream].getAdler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: '[com.jcraft.jsch.jzlib.ZStream].free()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.ZStream].free()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].setOutput(byte[],int,com.jcraft.jsch.jzlib.ZStream)'
      Src: com.jcraft.jsch.jzlib.ZStream:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: '[com.jcraft.jsch.jzlib.ZStream].setOutput(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].setOutput(byte[],int,com.jcraft.jsch.jzlib.ZStream)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.ZStream].setOutput(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: '[com.jcraft.jsch.jzlib.ZStream].setOutput(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.ZStream].setOutput(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[],int,com.jcraft.jsch.jzlib.ZStream,boolean)'
      Src: com.jcraft.jsch.jzlib.ZStream:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[],int,com.jcraft.jsch.jzlib.ZStream,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[],int,com.jcraft.jsch.jzlib.ZStream,boolean)'
      Src: com.jcraft.jsch.jzlib.ZStream:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - append
    argTypes:
    - byte[]
    - boolean
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[],boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[],int,com.jcraft.jsch.jzlib.ZStream,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[],boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.ZStream,int,int)
      Src: com.jcraft.jsch.jzlib.ZStream:307,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.ZStream,int,int)
      Src: com.jcraft.jsch.jzlib.ZStream:308,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - buf
    - 'off'
    - len
    - append
    argTypes:
    - byte[]
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 317
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 317
    functionName: '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[],int,int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.ZStream,int,int)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[],int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: '[com.jcraft.jsch.jzlib.ZStream].getNextIn()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jzlib.ZStream].getNextIn()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next_in
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: '[com.jcraft.jsch.jzlib.ZStream].setNextIn(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.ZStream].setNextIn(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: '[com.jcraft.jsch.jzlib.ZStream].getNextInIndex()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].getNextInIndex()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next_in_index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: '[com.jcraft.jsch.jzlib.ZStream].setNextInIndex(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.ZStream].setNextInIndex(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: '[com.jcraft.jsch.jzlib.ZStream].getAvailIn()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].getAvailIn()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - avail_in
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: '[com.jcraft.jsch.jzlib.ZStream].setAvailIn(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.ZStream].setAvailIn(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: '[com.jcraft.jsch.jzlib.ZStream].getNextOut()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jzlib.ZStream].getNextOut()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next_out
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: '[com.jcraft.jsch.jzlib.ZStream].setNextOut(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.ZStream].setNextOut(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: '[com.jcraft.jsch.jzlib.ZStream].getNextOutIndex()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].getNextOutIndex()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next_out_index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: '[com.jcraft.jsch.jzlib.ZStream].setNextOutIndex(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.ZStream].setNextOutIndex(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: '[com.jcraft.jsch.jzlib.ZStream].getAvailOut()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].getAvailOut()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - avail_out
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: '[com.jcraft.jsch.jzlib.ZStream].setAvailOut(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.ZStream].setAvailOut(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: '[com.jcraft.jsch.jzlib.ZStream].getTotalOut()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.ZStream].getTotalOut()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: '[com.jcraft.jsch.jzlib.ZStream].getTotalIn()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.ZStream].getTotalIn()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: '[com.jcraft.jsch.jzlib.ZStream].getMessage()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jzlib.ZStream].getMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: '[com.jcraft.jsch.jzlib.ZStream].end()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.ZStream].end()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - long
      - byte[]
      - int
      - int
      - long
      - String
      - com.jcraft.jsch.jzlib.Deflate
      - com.jcraft.jsch.jzlib.Inflate
      - int
      - com.jcraft.jsch.jzlib.Checksum
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: '[com.jcraft.jsch.jzlib.ZStream].finished()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jzlib.ZStream].finished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - index
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Checksum.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.jzlib.Checksum].reset()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Checksum.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Checksum].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - init
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.jzlib.Checksum].reset(long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Checksum.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Checksum].reset(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.jzlib.Checksum].getValue()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Checksum.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.Checksum].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Checksum
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '[com.jcraft.jsch.jzlib.Checksum].copy()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Checksum.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Checksum
    signature: '[com.jcraft.jsch.jzlib.Checksum].copy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.Checksum
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.Checksum].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Checksum.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Checksum
    signature: '[com.jcraft.jsch.jzlib.Checksum].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>()'
      Src: com.jcraft.jsch.jzlib.GZIPException:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.GZIPException
      static: false
      superClass: java.io.IOException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.jzlib.GZIPException].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPException.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.GZIPException
    signature: '[com.jcraft.jsch.jzlib.GZIPException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.GZIPException:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.GZIPException
      static: false
      superClass: java.io.IOException
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.jzlib.GZIPException].<init>(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPException.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.GZIPException
    signature: '[com.jcraft.jsch.jzlib.GZIPException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int[]
      - int[]
      - short[]
      - int
      - com.jcraft.jsch.jzlib.StaticTree
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - dist
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: '[com.jcraft.jsch.jzlib.Tree].d_code(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Tree.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Tree].d_code(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 79
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.jzlib.Deflate
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int[]
      - int[]
      - short[]
      - int
      - com.jcraft.jsch.jzlib.StaticTree
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - com.jcraft.jsch.jzlib.Deflate
    constantsTouched: []
    func_position:
      end: 213
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 213
    functionName: '[com.jcraft.jsch.jzlib.Tree].gen_bitlen(com.jcraft.jsch.jzlib.Deflate)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Tree.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Tree].gen_bitlen(com.jcraft.jsch.jzlib.Deflate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].pqdownheap(com.jcraft.jsch.jzlib.Tree,com.jcraft.jsch.jzlib.Tree)'
      Src: com.jcraft.jsch.jzlib.Tree:263,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].pqdownheap(com.jcraft.jsch.jzlib.Tree,int)'
      Src: com.jcraft.jsch.jzlib.Tree:273,1
    - Dst: Math.max()
      Src: com.jcraft.jsch.jzlib.Tree:281,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].pqdownheap(com.jcraft.jsch.jzlib.Tree,int)'
      Src: com.jcraft.jsch.jzlib.Tree:286,1
    - Dst: '[com.jcraft.jsch.jzlib.Tree].gen_bitlen(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Tree:294,1
    - Dst: '[com.jcraft.jsch.jzlib.Tree].gen_codes(com.jcraft.jsch.jzlib.Tree,int,short[],short[])'
      Src: com.jcraft.jsch.jzlib.Tree:297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 71
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.jzlib.Deflate
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int[]
      - int[]
      - short[]
      - int
      - com.jcraft.jsch.jzlib.StaticTree
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - com.jcraft.jsch.jzlib.Deflate
    constantsTouched: []
    func_position:
      end: 298
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 298
    functionName: '[com.jcraft.jsch.jzlib.Tree].build_tree(com.jcraft.jsch.jzlib.Deflate)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Tree.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].pqdownheap(com.jcraft.jsch.jzlib.Tree,int)'
    - '[com.jcraft.jsch.jzlib.Deflate].pqdownheap(com.jcraft.jsch.jzlib.Tree,com.jcraft.jsch.jzlib.Tree)'
    - Math.max()
    - '[com.jcraft.jsch.jzlib.Tree].gen_bitlen(com.jcraft.jsch.jzlib.Deflate)'
    - '[com.jcraft.jsch.jzlib.Tree].gen_codes(com.jcraft.jsch.jzlib.Tree,int,short[],short[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Tree].build_tree(com.jcraft.jsch.jzlib.Deflate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Tree].bi_reverse(com.jcraft.jsch.jzlib.Tree)'
      Src: com.jcraft.jsch.jzlib.Tree:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - short[]
      - int
      - short[]
      - short[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int[]
      - int[]
      - short[]
      - int
      - com.jcraft.jsch.jzlib.StaticTree
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - tree
    - max_code
    - bl_count
    - next_code
    argTypes:
    - short[]
    - int
    - short[]
    - short[]
    constantsTouched: []
    func_position:
      end: 334
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 334
    functionName: '[com.jcraft.jsch.jzlib.Tree].gen_codes(short[],int,short[],short[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Tree.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Tree].bi_reverse(com.jcraft.jsch.jzlib.Tree)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Tree].gen_codes(short[],int,short[],short[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int[]
      - int[]
      - short[]
      - int
      - com.jcraft.jsch.jzlib.StaticTree
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - code
    - len
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: '[com.jcraft.jsch.jzlib.Tree].bi_reverse(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Tree.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Tree].bi_reverse(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - byte[]
      - int
      - int
      - byte[]
      - byte[]
      - int[]
      - int[]
      - short[]
      - int
      - com.jcraft.jsch.jzlib.StaticTree
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.Tree
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.Tree].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Tree.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Tree
    signature: '[com.jcraft.jsch.jzlib.Tree].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.InfTree].<init>()'
      Src: com.jcraft.jsch.jzlib.InfBlocks:98,1
    - Dst: '[com.jcraft.jsch.jzlib.InfCodes].<init>(com.jcraft.jsch.jzlib.ZStream)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:104,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].reset()'
      Src: com.jcraft.jsch.jzlib.InfBlocks:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.jzlib.ZStream
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[][]
      - int[][]
      - int[]
      - int[]
      - com.jcraft.jsch.jzlib.InfCodes
      - int
      - int
      - int
      - int[]
      - byte[]
      - int
      - int
      - int
      - boolean
      - com.jcraft.jsch.jzlib.InfTree
      - com.jcraft.jsch.jzlib.ZStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.InfBlocks
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - z
    - w
    argTypes:
    - com.jcraft.jsch.jzlib.ZStream
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: '[com.jcraft.jsch.jzlib.InfBlocks].<init>(com.jcraft.jsch.jzlib.ZStream,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfBlocks.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.InfBlocks].reset()'
    - '[com.jcraft.jsch.jzlib.InfCodes].<init>(com.jcraft.jsch.jzlib.ZStream)'
    - '[com.jcraft.jsch.jzlib.InfTree].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.InfBlocks
    signature: '[com.jcraft.jsch.jzlib.InfBlocks].<init>(com.jcraft.jsch.jzlib.ZStream,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.InfCodes].free(com.jcraft.jsch.jzlib.ZStream)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:117,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].reset()'
      Src: com.jcraft.jsch.jzlib.InfBlocks:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[][]
      - int[][]
      - int[]
      - int[]
      - com.jcraft.jsch.jzlib.InfCodes
      - int
      - int
      - int
      - int[]
      - byte[]
      - int
      - int
      - int
      - boolean
      - com.jcraft.jsch.jzlib.InfTree
      - com.jcraft.jsch.jzlib.ZStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: '[com.jcraft.jsch.jzlib.InfBlocks].reset()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfBlocks.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Checksum].reset()'
    - '[com.jcraft.jsch.jzlib.InfCodes].free(com.jcraft.jsch.jzlib.ZStream)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.InfBlocks].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:164,1
    - Dst: '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_fixed(int[],int[],int[][],int[][],com.jcraft.jsch.jzlib.ZStream)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:188,1
    - Dst: '[com.jcraft.jsch.jzlib.InfCodes].init(int,int)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:189,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:221,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:235,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:253,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:267,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:277,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(int)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:291,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.jzlib.InfBlocks,byte[],com.jcraft.jsch.jzlib.InfBlocks,com.jcraft.jsch.jzlib.InfBlocks)
      Src: com.jcraft.jsch.jzlib.InfBlocks:302,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:322,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:341,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:371,1
    - Dst: '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_bits(int[],int[],int[],int[],com.jcraft.jsch.jzlib.ZStream)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:391,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:405,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:432,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:464,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:493,1
    - Dst: '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_dynamic(int,int,int[],int[],int[],int[],int[],int[],com.jcraft.jsch.jzlib.ZStream)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:508,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:524,1
    - Dst: '[com.jcraft.jsch.jzlib.InfCodes].init(int[],int[])'
      Src: com.jcraft.jsch.jzlib.InfBlocks:526,1
    - Dst: '[com.jcraft.jsch.jzlib.InfCodes].proc(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:537,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(int)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:538,1
    - Dst: '[com.jcraft.jsch.jzlib.InfCodes].free(com.jcraft.jsch.jzlib.ZStream)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:541,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:557,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(int)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:567,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:579,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:589,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:600,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 481
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[][]
      - int[][]
      - int[]
      - int[]
      - com.jcraft.jsch.jzlib.InfCodes
      - int
      - int
      - int
      - int[]
      - byte[]
      - int
      - int
      - int
      - boolean
      - com.jcraft.jsch.jzlib.InfTree
      - com.jcraft.jsch.jzlib.ZStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - r
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 603
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 603
    functionName: '[com.jcraft.jsch.jzlib.InfBlocks].proc(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfBlocks.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_fixed(int[],int[],int[][],int[][],com.jcraft.jsch.jzlib.ZStream)'
    - '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(int)'
    - System.arraycopy(byte[],com.jcraft.jsch.jzlib.InfBlocks,byte[],com.jcraft.jsch.jzlib.InfBlocks,com.jcraft.jsch.jzlib.InfBlocks)
    - '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_dynamic(int,int,int[],int[],int[],int[],int[],int[],com.jcraft.jsch.jzlib.ZStream)'
    - '[com.jcraft.jsch.jzlib.InfCodes].free(com.jcraft.jsch.jzlib.ZStream)'
    - '[com.jcraft.jsch.jzlib.InfCodes].init(int,int)'
    - '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_bits(int[],int[],int[],int[],com.jcraft.jsch.jzlib.ZStream)'
    - '[com.jcraft.jsch.jzlib.InfCodes].proc(com.jcraft.jsch.jzlib.InfBlocks)'
    - '[com.jcraft.jsch.jzlib.InfCodes].init(int[],int[])'
    - '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfBlocks)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.InfBlocks].proc(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].reset()'
      Src: com.jcraft.jsch.jzlib.InfBlocks:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[][]
      - int[][]
      - int[]
      - int[]
      - com.jcraft.jsch.jzlib.InfCodes
      - int
      - int
      - int
      - int[]
      - byte[]
      - int
      - int
      - int
      - boolean
      - com.jcraft.jsch.jzlib.InfTree
      - com.jcraft.jsch.jzlib.ZStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 610
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 610
    functionName: '[com.jcraft.jsch.jzlib.InfBlocks].free()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfBlocks.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.InfBlocks].reset()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.InfBlocks].free()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.jzlib.InfBlocks:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[][]
      - int[][]
      - int[]
      - int[]
      - com.jcraft.jsch.jzlib.InfCodes
      - int
      - int
      - int
      - int[]
      - byte[]
      - int
      - int
      - int
      - boolean
      - com.jcraft.jsch.jzlib.InfTree
      - com.jcraft.jsch.jzlib.ZStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - d
    - start
    - n
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: '[com.jcraft.jsch.jzlib.InfBlocks].set_dictionary(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfBlocks.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,int)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.InfBlocks].set_dictionary(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[][]
      - int[][]
      - int[]
      - int[]
      - com.jcraft.jsch.jzlib.InfCodes
      - int
      - int
      - int
      - int[]
      - byte[]
      - int
      - int
      - int
      - boolean
      - com.jcraft.jsch.jzlib.InfTree
      - com.jcraft.jsch.jzlib.ZStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 621
    functionName: '[com.jcraft.jsch.jzlib.InfBlocks].sync_point()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfBlocks.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.InfBlocks].sync_point()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].update(byte[],com.jcraft.jsch.jzlib.InfBlocks,com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:646,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.jzlib.InfBlocks,byte[],com.jcraft.jsch.jzlib.InfBlocks,com.jcraft.jsch.jzlib.InfBlocks)
      Src: com.jcraft.jsch.jzlib.InfBlocks:650,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].update(byte[],com.jcraft.jsch.jzlib.InfBlocks,com.jcraft.jsch.jzlib.InfBlocks)'
      Src: com.jcraft.jsch.jzlib.InfBlocks:674,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.jzlib.InfBlocks,byte[],com.jcraft.jsch.jzlib.InfBlocks,com.jcraft.jsch.jzlib.InfBlocks)
      Src: com.jcraft.jsch.jzlib.InfBlocks:678,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int[]
      - int[]
      - int[]
      - int[]
      - int[][]
      - int[][]
      - int[]
      - int[]
      - com.jcraft.jsch.jzlib.InfCodes
      - int
      - int
      - int
      - int[]
      - byte[]
      - int
      - int
      - int
      - boolean
      - com.jcraft.jsch.jzlib.InfTree
      - com.jcraft.jsch.jzlib.ZStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - r
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 689
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 689
    functionName: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfBlocks.java
    functionUses: 2
    functionsReached:
    - System.arraycopy(byte[],com.jcraft.jsch.jzlib.InfBlocks,byte[],com.jcraft.jsch.jzlib.InfBlocks,com.jcraft.jsch.jzlib.InfBlocks)
    - '[com.jcraft.jsch.jzlib.Checksum].update(byte[],com.jcraft.jsch.jzlib.InfBlocks,com.jcraft.jsch.jzlib.InfBlocks)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - index
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: '[com.jcraft.jsch.jzlib.CRC32].update(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/CRC32.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.CRC32].update(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[com.jcraft.jsch.jzlib.CRC32].reset()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/CRC32.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.CRC32].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - vv
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.jzlib.CRC32].reset(long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/CRC32.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.CRC32].reset(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.jzlib.CRC32].getValue()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/CRC32.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.CRC32].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_square(com.jcraft.jsch.jzlib.CRC32,com.jcraft.jsch.jzlib.CRC32)'
      Src: com.jcraft.jsch.jzlib.CRC32:99,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_square(com.jcraft.jsch.jzlib.CRC32,com.jcraft.jsch.jzlib.CRC32)'
      Src: com.jcraft.jsch.jzlib.CRC32:102,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_square(com.jcraft.jsch.jzlib.CRC32,com.jcraft.jsch.jzlib.CRC32)'
      Src: com.jcraft.jsch.jzlib.CRC32:108,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_times(com.jcraft.jsch.jzlib.CRC32,long)'
      Src: com.jcraft.jsch.jzlib.CRC32:110,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_square(com.jcraft.jsch.jzlib.CRC32,com.jcraft.jsch.jzlib.CRC32)'
      Src: com.jcraft.jsch.jzlib.CRC32:118,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_times(com.jcraft.jsch.jzlib.CRC32,long)'
      Src: com.jcraft.jsch.jzlib.CRC32:120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - crc1
    - crc2
    - len2
    argTypes:
    - long
    - long
    - long
    constantsTouched: []
    func_position:
      end: 129
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 129
    functionName: '[com.jcraft.jsch.jzlib.CRC32].combine(long,long,long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/CRC32.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_square(com.jcraft.jsch.jzlib.CRC32,com.jcraft.jsch.jzlib.CRC32)'
    - '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_times(com.jcraft.jsch.jzlib.CRC32,long)'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.CRC32].combine(long,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - long[]
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - mat
    - vec
    argTypes:
    - long[]
    - long
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_times(long[],long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/CRC32.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_times(long[],long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_times(long[])'
      Src: com.jcraft.jsch.jzlib.CRC32:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long[]
      - long[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - square
    - mat
    argTypes:
    - long[]
    - long[]
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_square(long[],long[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/CRC32.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_times(long[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_square(long[],long[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].<init>()'
      Src: com.jcraft.jsch.jzlib.CRC32:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.CRC32
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: '[com.jcraft.jsch.jzlib.CRC32].copy()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/CRC32.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.CRC32].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.CRC32
    signature: '[com.jcraft.jsch.jzlib.CRC32].copy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(int[],int,com.jcraft.jsch.jzlib.CRC32,int,com.jcraft.jsch.jzlib.CRC32)
      Src: com.jcraft.jsch.jzlib.CRC32:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int[]
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: '[com.jcraft.jsch.jzlib.CRC32].getCRC32Table()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/CRC32.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(int[],int,com.jcraft.jsch.jzlib.CRC32,int,com.jcraft.jsch.jzlib.CRC32)
    linkageType: ''
    returnType: int[]
    signature: '[com.jcraft.jsch.jzlib.CRC32].getCRC32Table()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.CRC32
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.CRC32].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/CRC32.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.CRC32
    signature: '[com.jcraft.jsch.jzlib.CRC32].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - WrapperType
      - WrapperType
      - WrapperType
      - WrapperType
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.jzlib.JZlib].version()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/JZlib.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jzlib.JZlib].version()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].combine(long,long,long)'
      Src: com.jcraft.jsch.jzlib.JZlib:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - WrapperType
      - WrapperType
      - WrapperType
      - WrapperType
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - adler1
    - adler2
    - len2
    argTypes:
    - long
    - long
    - long
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.jzlib.JZlib].adler32_combine(long,long,long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/JZlib.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Adler32].combine(long,long,long)'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.JZlib].adler32_combine(long,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].combine(long,long,long)'
      Src: com.jcraft.jsch.jzlib.JZlib:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - WrapperType
      - WrapperType
      - WrapperType
      - WrapperType
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - crc1
    - crc2
    - len2
    argTypes:
    - long
    - long
    - long
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '[com.jcraft.jsch.jzlib.JZlib].crc32_combine(long,long,long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/JZlib.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.CRC32].combine(long,long,long)'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.JZlib].crc32_combine(long,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - WrapperType
      - WrapperType
      - WrapperType
      - WrapperType
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.JZlib
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.JZlib].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/JZlib.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.JZlib
    signature: '[com.jcraft.jsch.jzlib.JZlib].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].reset()'
      Src: com.jcraft.jsch.jzlib.Inflate:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - int
      - byte[]
      - com.jcraft.jsch.jzlib.GZIPHeader
      - byte[]
      - java.io.ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: '[com.jcraft.jsch.jzlib.Inflate].inflateReset()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.InfBlocks].reset()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflate].inflateReset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].free()'
      Src: com.jcraft.jsch.jzlib.Inflate:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - int
      - byte[]
      - com.jcraft.jsch.jzlib.GZIPHeader
      - byte[]
      - java.io.ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: '[com.jcraft.jsch.jzlib.Inflate].inflateEnd()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.InfBlocks].free()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflate].inflateEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.jzlib.ZStream
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - int
      - byte[]
      - com.jcraft.jsch.jzlib.GZIPHeader
      - byte[]
      - java.io.ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Inflate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - z
    argTypes:
    - com.jcraft.jsch.jzlib.ZStream
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: '[com.jcraft.jsch.jzlib.Inflate].<init>(com.jcraft.jsch.jzlib.ZStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Inflate
    signature: '[com.jcraft.jsch.jzlib.Inflate].<init>(com.jcraft.jsch.jzlib.ZStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].inflateEnd()'
      Src: com.jcraft.jsch.jzlib.Inflate:166,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].free()'
      Src: com.jcraft.jsch.jzlib.Inflate:170,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].<init>(com.jcraft.jsch.jzlib.ZStream,int)'
      Src: com.jcraft.jsch.jzlib.Inflate:177,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].inflateReset()'
      Src: com.jcraft.jsch.jzlib.Inflate:180,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - int
      - byte[]
      - com.jcraft.jsch.jzlib.GZIPHeader
      - byte[]
      - java.io.ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - w
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 183
    functionName: '[com.jcraft.jsch.jzlib.Inflate].inflateInit(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.InfBlocks].<init>(com.jcraft.jsch.jzlib.ZStream,int)'
    - '[com.jcraft.jsch.jzlib.Inflate].inflateEnd()'
    - '[com.jcraft.jsch.jzlib.InfBlocks].free()'
    - '[com.jcraft.jsch.jzlib.Inflate].inflateReset()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflate].inflateInit(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,com.jcraft.jsch.jzlib.Inflate,com.jcraft.jsch.jzlib.Inflate)'
      Src: com.jcraft.jsch.jzlib.Inflate:210,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].<init>()'
      Src: com.jcraft.jsch.jzlib.Inflate:219,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].checksum(int,long)'
      Src: com.jcraft.jsch.jzlib.Inflate:220,1
    - Dst: '[com.jcraft.jsch.jzlib.GZIPHeader].<init>()'
      Src: com.jcraft.jsch.jzlib.Inflate:223,1
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].<init>()'
      Src: com.jcraft.jsch.jzlib.Inflate:283,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].reset(long)'
      Src: com.jcraft.jsch.jzlib.Inflate:325,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].proc(com.jcraft.jsch.jzlib.Inflate)'
      Src: com.jcraft.jsch.jzlib.Inflate:334,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].getValue()'
      Src: com.jcraft.jsch.jzlib.Inflate:347,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].reset()'
      Src: com.jcraft.jsch.jzlib.Inflate:348,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,com.jcraft.jsch.jzlib.Inflate,com.jcraft.jsch.jzlib.Inflate)'
      Src: com.jcraft.jsch.jzlib.Inflate:410,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jzlib.Inflate:415,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jzlib.Inflate:428,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,int,com.jcraft.jsch.jzlib.Inflate)'
      Src: com.jcraft.jsch.jzlib.Inflate:443,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].checksum(int,long)'
      Src: com.jcraft.jsch.jzlib.Inflate:462,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,int,com.jcraft.jsch.jzlib.Inflate)'
      Src: com.jcraft.jsch.jzlib.Inflate:469,1
    - Dst: '[com.jcraft.jsch.jzlib.GZIPHeader].setModifiedTime(long)'
      Src: com.jcraft.jsch.jzlib.Inflate:474,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].checksum(int,long)'
      Src: com.jcraft.jsch.jzlib.Inflate:477,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,int,com.jcraft.jsch.jzlib.Inflate)'
      Src: com.jcraft.jsch.jzlib.Inflate:482,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].checksum(int,long)'
      Src: com.jcraft.jsch.jzlib.Inflate:491,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,int,com.jcraft.jsch.jzlib.Inflate)'
      Src: com.jcraft.jsch.jzlib.Inflate:497,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].checksum(int,long)'
      Src: com.jcraft.jsch.jzlib.Inflate:505,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,com.jcraft.jsch.jzlib.Inflate)'
      Src: com.jcraft.jsch.jzlib.Inflate:515,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: com.jcraft.jsch.jzlib.Inflate:517,1
    - Dst: System.arraycopy(com.jcraft.jsch.jzlib.Inflate,int,byte[],int,com.jcraft.jsch.jzlib.Inflate)
      Src: com.jcraft.jsch.jzlib.Inflate:520,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].readString(int,com.jcraft.jsch.jzlib.Inflate)'
      Src: com.jcraft.jsch.jzlib.Inflate:537,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: com.jcraft.jsch.jzlib.Inflate:539,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].readString(int,com.jcraft.jsch.jzlib.Inflate)'
      Src: com.jcraft.jsch.jzlib.Inflate:552,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: com.jcraft.jsch.jzlib.Inflate:554,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,int,com.jcraft.jsch.jzlib.Inflate)'
      Src: com.jcraft.jsch.jzlib.Inflate:567,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].getValue()'
      Src: com.jcraft.jsch.jzlib.Inflate:574,1
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].<init>()'
      Src: com.jcraft.jsch.jzlib.Inflate:581,1
    CyclomaticComplexity: 155
    EdgeCount: 155
    ICount: 322
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - int
      - byte[]
      - com.jcraft.jsch.jzlib.GZIPHeader
      - byte[]
      - java.io.ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - f
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 589
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 589
    functionName: '[com.jcraft.jsch.jzlib.Inflate].inflate(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,com.jcraft.jsch.jzlib.Inflate,com.jcraft.jsch.jzlib.Inflate)'
    - '[com.jcraft.jsch.jzlib.InfBlocks].reset()'
    - '[com.jcraft.jsch.jzlib.GZIPHeader].setModifiedTime(long)'
    - '[com.jcraft.jsch.jzlib.Adler32].<init>()'
    - '[com.jcraft.jsch.jzlib.Inflate].readString(int,com.jcraft.jsch.jzlib.Inflate)'
    - System.arraycopy(com.jcraft.jsch.jzlib.Inflate,int,byte[],int,com.jcraft.jsch.jzlib.Inflate)
    - '[com.jcraft.jsch.jzlib.GZIPHeader].<init>()'
    - '[com.jcraft.jsch.jzlib.CRC32].<init>()'
    - '[com.jcraft.jsch.jzlib.Checksum].reset(long)'
    - '[com.jcraft.jsch.jzlib.InfBlocks].proc(com.jcraft.jsch.jzlib.Inflate)'
    - '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,int,com.jcraft.jsch.jzlib.Inflate)'
    - '[com.jcraft.jsch.jzlib.Inflate].checksum(int,long)'
    - '[com.jcraft.jsch.jzlib.Checksum].getValue()'
    - '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,com.jcraft.jsch.jzlib.Inflate)'
    - '[String].equals(String)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflate].inflate(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].getValue()'
      Src: com.jcraft.jsch.jzlib.Inflate:600,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].reset()'
      Src: com.jcraft.jsch.jzlib.Inflate:601,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,int)'
      Src: com.jcraft.jsch.jzlib.Inflate:602,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].getValue()'
      Src: com.jcraft.jsch.jzlib.Inflate:603,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].reset()'
      Src: com.jcraft.jsch.jzlib.Inflate:608,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].set_dictionary(byte[],com.jcraft.jsch.jzlib.Inflate,com.jcraft.jsch.jzlib.Inflate)'
      Src: com.jcraft.jsch.jzlib.Inflate:614,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - int
      - byte[]
      - com.jcraft.jsch.jzlib.GZIPHeader
      - byte[]
      - java.io.ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - dictionary
    - dictLength
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 617
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 617
    functionName: '[com.jcraft.jsch.jzlib.Inflate].inflateSetDictionary(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,int)'
    - '[com.jcraft.jsch.jzlib.Checksum].getValue()'
    - '[com.jcraft.jsch.jzlib.InfBlocks].set_dictionary(byte[],com.jcraft.jsch.jzlib.Inflate,com.jcraft.jsch.jzlib.Inflate)'
    - '[com.jcraft.jsch.jzlib.Checksum].reset()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflate].inflateSetDictionary(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflate].inflateReset()'
      Src: com.jcraft.jsch.jzlib.Inflate:664,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - int
      - byte[]
      - com.jcraft.jsch.jzlib.GZIPHeader
      - byte[]
      - java.io.ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 670
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 670
    functionName: '[com.jcraft.jsch.jzlib.Inflate].inflateSync()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflate].inflateReset()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflate].inflateSync()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].sync_point()'
      Src: com.jcraft.jsch.jzlib.Inflate:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - int
      - byte[]
      - com.jcraft.jsch.jzlib.GZIPHeader
      - byte[]
      - java.io.ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 682
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 682
    functionName: '[com.jcraft.jsch.jzlib.Inflate].inflateSyncPoint()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.InfBlocks].sync_point()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflate].inflateSyncPoint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflate.Return].<init>(int)'
      Src: com.jcraft.jsch.jzlib.Inflate:691,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - int
      - byte[]
      - com.jcraft.jsch.jzlib.GZIPHeader
      - byte[]
      - java.io.ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions:
      - Return
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - n
    - r
    - f
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 706
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 706
    functionName: '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflate.Return].<init>(int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: com.jcraft.jsch.jzlib.Inflate:721,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate.Return].<init>(int)'
      Src: com.jcraft.jsch.jzlib.Inflate:726,1
    - Dst: '[java.io.ByteArrayOutputStream].write(byte[],int,int)'
      Src: com.jcraft.jsch.jzlib.Inflate:733,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,int)'
      Src: com.jcraft.jsch.jzlib.Inflate:734,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - int
      - byte[]
      - com.jcraft.jsch.jzlib.GZIPHeader
      - byte[]
      - java.io.ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions:
      - Return
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - r
    - f
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 738
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 738
    functionName: '[com.jcraft.jsch.jzlib.Inflate].readString(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,int)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[com.jcraft.jsch.jzlib.Inflate.Return].<init>(int)'
    - '[java.io.ByteArrayOutputStream].write(byte[],int,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflate].readString(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: com.jcraft.jsch.jzlib.Inflate:742,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflate.Return].<init>(int)'
      Src: com.jcraft.jsch.jzlib.Inflate:747,1
    - Dst: '[java.io.ByteArrayOutputStream].write(byte[],int,int)'
      Src: com.jcraft.jsch.jzlib.Inflate:753,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,int)'
      Src: com.jcraft.jsch.jzlib.Inflate:754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - int
      - byte[]
      - com.jcraft.jsch.jzlib.GZIPHeader
      - byte[]
      - java.io.ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions:
      - Return
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - r
    - f
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 759
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 759
    functionName: '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,int)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[com.jcraft.jsch.jzlib.Inflate.Return].<init>(int)'
    - '[java.io.ByteArrayOutputStream].write(byte[],int,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,int)'
      Src: com.jcraft.jsch.jzlib.Inflate:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - int
      - byte[]
      - com.jcraft.jsch.jzlib.GZIPHeader
      - byte[]
      - java.io.ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - n
    - v
    argTypes:
    - int
    - long
    constantsTouched: []
    func_position:
      end: 767
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 767
    functionName: '[com.jcraft.jsch.jzlib.Inflate].checksum(int,long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Inflate].checksum(int,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - int
      - byte[]
      - com.jcraft.jsch.jzlib.GZIPHeader
      - byte[]
      - java.io.ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.GZIPHeader
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 771
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 771
    functionName: '[com.jcraft.jsch.jzlib.Inflate].getGZIPHeader()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.GZIPHeader
    signature: '[com.jcraft.jsch.jzlib.Inflate].getGZIPHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - int
      - byte[]
      - com.jcraft.jsch.jzlib.GZIPHeader
      - byte[]
      - java.io.ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 792
    functionName: '[com.jcraft.jsch.jzlib.Inflate].inParsingHeader()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jzlib.Inflate].inParsingHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Inflate.Return
      static: false
      superClass: Exception
    argCount: 1
    argNames:
    - r
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 714
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 714
    functionName: '[com.jcraft.jsch.jzlib.Inflate.Return].<init>(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Inflate.Return
    signature: '[com.jcraft.jsch.jzlib.Inflate.Return].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.StaticTree].<init>(short[],int[],int,int,int)'
      Src: com.jcraft.jsch.jzlib.StaticTree:75,1
    - Dst: '[com.jcraft.jsch.jzlib.StaticTree].<init>(short[],int[],int,int,int)'
      Src: com.jcraft.jsch.jzlib.StaticTree:78,1
    - Dst: '[com.jcraft.jsch.jzlib.StaticTree].<init>(null,int[],int,int,int)'
      Src: com.jcraft.jsch.jzlib.StaticTree:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - short[]
      - int[]
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.StaticTree
      - com.jcraft.jsch.jzlib.StaticTree
      - com.jcraft.jsch.jzlib.StaticTree
      - short[]
      - int[]
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.StaticTree
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - static_tree
    - extra_bits
    - extra_base
    - elems
    - max_length
    argTypes:
    - short[]
    - int[]
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: '[com.jcraft.jsch.jzlib.StaticTree].<init>(short[],int[],int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/StaticTree.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.StaticTree].<init>(short[],int[],int,int,int)'
    - '[com.jcraft.jsch.jzlib.StaticTree].<init>(null,int[],int,int,int)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.StaticTree
    signature: '[com.jcraft.jsch.jzlib.StaticTree].<init>(short[],int[],int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - byte[]
      - com.jcraft.jsch.Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Compression
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.Compression
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.jzlib.Compression].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Compression.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Compression
    signature: '[com.jcraft.jsch.jzlib.Compression].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getLogger()'
      Src: com.jcraft.jsch.jzlib.Compression:47,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.jzlib.Compression:47,1
    - Dst: logger.isEnabled(int)
      Src: com.jcraft.jsch.jzlib.Compression:48,1
    - Dst: '[java.util.function.Supplier<String>].get()'
      Src: com.jcraft.jsch.jzlib.Compression:51,1
    - Dst: logger.log(int,com.jcraft.jsch.jzlib.Compression)
      Src: com.jcraft.jsch.jzlib.Compression:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - java.util.function.Supplier<String>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - byte[]
      - com.jcraft.jsch.Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Compression
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - message
    argTypes:
    - int
    - java.util.function.Supplier<String>
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: '[com.jcraft.jsch.jzlib.Compression].logMessage(int,java.util.function.Supplier<String>)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Compression.java
    functionUses: 0
    functionsReached:
    - logger.isEnabled(int)
    - '[com.jcraft.jsch.Session].getLogger()'
    - '[java.util.function.Supplier<String>].get()'
    - logger.log(int,com.jcraft.jsch.jzlib.Compression)
    - '[com.jcraft.jsch.JSch].getLogger()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Compression].logMessage(int,java.util.function.Supplier<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].end()'
      Src: com.jcraft.jsch.jzlib.Compression:58,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].end()'
      Src: com.jcraft.jsch.jzlib.Compression:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - byte[]
      - com.jcraft.jsch.Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Compression
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: '[com.jcraft.jsch.jzlib.Compression].end()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Compression.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflater].end()'
    - '[com.jcraft.jsch.jzlib.Inflater].end()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Compression].end()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Compression].init(int,int)'
      Src: com.jcraft.jsch.jzlib.Compression:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - byte[]
      - com.jcraft.jsch.Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Compression
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - type
    - level
    - session
    argTypes:
    - int
    - int
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 11
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '[com.jcraft.jsch.jzlib.Compression].init(int,int,com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Compression.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Compression].init(int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Compression].init(int,int,com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].<init>(int)'
      Src: com.jcraft.jsch.jzlib.Compression:77,1
    - Dst: '[java.io.UncheckedIOException].<init>(com.jcraft.jsch.jzlib.Compression)'
      Src: com.jcraft.jsch.jzlib.Compression:79,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].<init>()'
      Src: com.jcraft.jsch.jzlib.Compression:82,1
    - Dst: '[com.jcraft.jsch.jzlib.Compression].logMessage(com.jcraft.jsch.jzlib.Compression)'
      Src: com.jcraft.jsch.jzlib.Compression:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - byte[]
      - com.jcraft.jsch.Session
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UncheckedIOException
      interfaces:
      - com.jcraft.jsch.Compression
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - type
    - level
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 10
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.jzlib.Compression].init(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Compression.java
    functionUses: 1
    functionsReached:
    - '[java.io.UncheckedIOException].<init>(com.jcraft.jsch.jzlib.Compression)'
    - '[com.jcraft.jsch.jzlib.Deflater].<init>(int)'
    - '[com.jcraft.jsch.jzlib.Inflater].<init>()'
    - '[com.jcraft.jsch.jzlib.Compression].logMessage(com.jcraft.jsch.jzlib.Compression)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Compression].init(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].deflate(int)'
      Src: com.jcraft.jsch.jzlib.Compression:101,1
    - Dst: System.arraycopy(com.jcraft.jsch.jzlib.Compression,int,com.jcraft.jsch.jzlib.Compression,int,com.jcraft.jsch.jzlib.Compression)
      Src: com.jcraft.jsch.jzlib.Compression:107,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.Compression,com.jcraft.jsch.jzlib.Compression,com.jcraft.jsch.jzlib.Compression)
      Src: com.jcraft.jsch.jzlib.Compression:110,1
    - Dst: '[com.jcraft.jsch.jzlib.Compression].logMessage(com.jcraft.jsch.jzlib.Compression)'
      Src: com.jcraft.jsch.jzlib.Compression:114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - byte[]
      - com.jcraft.jsch.Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Compression
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int[]
    constantsTouched: []
    func_position:
      end: 120
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 120
    functionName: '[com.jcraft.jsch.jzlib.Compression].compress(byte[],int,int[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Compression.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(com.jcraft.jsch.jzlib.Compression,int,com.jcraft.jsch.jzlib.Compression,int,com.jcraft.jsch.jzlib.Compression)
    - '[com.jcraft.jsch.jzlib.Compression].logMessage(com.jcraft.jsch.jzlib.Compression)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.Compression,com.jcraft.jsch.jzlib.Compression,com.jcraft.jsch.jzlib.Compression)
    - '[com.jcraft.jsch.jzlib.Deflater].deflate(int)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jzlib.Compression].compress(byte[],int,int[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].inflate(int)'
      Src: com.jcraft.jsch.jzlib.Compression:134,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.Compression,int,com.jcraft.jsch.jzlib.Compression)
      Src: com.jcraft.jsch.jzlib.Compression:142,1
    - Dst: System.arraycopy(byte[],int,byte[],com.jcraft.jsch.jzlib.Compression,com.jcraft.jsch.jzlib.Compression)
      Src: com.jcraft.jsch.jzlib.Compression:145,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.Compression,int,int)
      Src: com.jcraft.jsch.jzlib.Compression:152,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.Compression,int,com.jcraft.jsch.jzlib.Compression)
      Src: com.jcraft.jsch.jzlib.Compression:153,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.Compression,int,com.jcraft.jsch.jzlib.Compression)
      Src: com.jcraft.jsch.jzlib.Compression:156,1
    - Dst: '[com.jcraft.jsch.jzlib.Compression].logMessage(com.jcraft.jsch.jzlib.Compression)'
      Src: com.jcraft.jsch.jzlib.Compression:161,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - com.jcraft.jsch.jzlib.Deflater
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - byte[]
      - com.jcraft.jsch.Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Compression
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - start
    - length
    argTypes:
    - byte[]
    - int
    - int[]
    constantsTouched: []
    func_position:
      end: 165
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 165
    functionName: '[com.jcraft.jsch.jzlib.Compression].uncompress(byte[],int,int[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Compression.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.Compression,int,int)
    - System.arraycopy(byte[],int,byte[],com.jcraft.jsch.jzlib.Compression,com.jcraft.jsch.jzlib.Compression)
    - '[com.jcraft.jsch.jzlib.Compression].logMessage(com.jcraft.jsch.jzlib.Compression)'
    - '[com.jcraft.jsch.jzlib.Inflater].inflate(int)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.Compression,int,com.jcraft.jsch.jzlib.Compression)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jzlib.Compression].uncompress(byte[],int,int[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Tree].<init>()'
      Src: com.jcraft.jsch.jzlib.Deflate:254,1
    - Dst: '[com.jcraft.jsch.jzlib.Tree].<init>()'
      Src: com.jcraft.jsch.jzlib.Deflate:255,1
    - Dst: '[com.jcraft.jsch.jzlib.Tree].<init>()'
      Src: com.jcraft.jsch.jzlib.Deflate:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.jzlib.ZStream
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Deflate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - strm
    argTypes:
    - com.jcraft.jsch.jzlib.ZStream
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: '[com.jcraft.jsch.jzlib.Deflate].<init>(com.jcraft.jsch.jzlib.ZStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Tree].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Deflate
    signature: '[com.jcraft.jsch.jzlib.Deflate].<init>(com.jcraft.jsch.jzlib.ZStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 345
    functionName: '[com.jcraft.jsch.jzlib.Deflate].lm_init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].lm_init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].init_block()'
      Src: com.jcraft.jsch.jzlib.Deflate:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 365
    functionName: '[com.jcraft.jsch.jzlib.Deflate].tr_init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].init_block()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].tr_init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 379
    functionName: '[com.jcraft.jsch.jzlib.Deflate].init_block()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].init_block()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].smaller(short[],byte[])'
      Src: com.jcraft.jsch.jzlib.Deflate:392,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].smaller(short[],com.jcraft.jsch.jzlib.Deflate,byte[])'
      Src: com.jcraft.jsch.jzlib.Deflate:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - short[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - tree
    - k
    argTypes:
    - short[]
    - int
    constantsTouched: []
    func_position:
      end: 406
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 406
    functionName: '[com.jcraft.jsch.jzlib.Deflate].pqdownheap(short[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].smaller(short[],byte[])'
    - '[com.jcraft.jsch.jzlib.Deflate].smaller(short[],com.jcraft.jsch.jzlib.Deflate,byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].pqdownheap(short[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - short[]
      - int
      - int
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - tree
    - n
    - m
    - depth
    argTypes:
    - short[]
    - int
    - int
    - byte[]
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: '[com.jcraft.jsch.jzlib.Deflate].smaller(short[],int,int,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jzlib.Deflate].smaller(short[],int,int,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes:
      - short[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - tree
    - max_code
    argTypes:
    - short[]
    - int
    constantsTouched: []
    func_position:
      end: 462
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 462
    functionName: '[com.jcraft.jsch.jzlib.Deflate].scan_tree(short[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].scan_tree(short[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].scan_tree(short[],int)'
      Src: com.jcraft.jsch.jzlib.Deflate:470,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].scan_tree(short[],int)'
      Src: com.jcraft.jsch.jzlib.Deflate:471,1
    - Dst: '[com.jcraft.jsch.jzlib.Tree].build_tree()'
      Src: com.jcraft.jsch.jzlib.Deflate:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 489
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 489
    functionName: '[com.jcraft.jsch.jzlib.Deflate].build_bl_tree()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Tree].build_tree()'
    - '[com.jcraft.jsch.jzlib.Deflate].scan_tree(short[],int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].build_bl_tree()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits(int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:497,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits(int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:498,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits(int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:499,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits(int)'
      Src: com.jcraft.jsch.jzlib.Deflate:501,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_tree(short[],int)'
      Src: com.jcraft.jsch.jzlib.Deflate:503,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_tree(short[],int)'
      Src: com.jcraft.jsch.jzlib.Deflate:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - lcodes
    - dcodes
    - blcodes
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 505
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 505
    functionName: '[com.jcraft.jsch.jzlib.Deflate].send_all_trees(int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].send_tree(short[],int)'
    - '[com.jcraft.jsch.jzlib.Deflate].send_bits(int)'
    - '[com.jcraft.jsch.jzlib.Deflate].send_bits(int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].send_all_trees(int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_code(com.jcraft.jsch.jzlib.Deflate,short[])'
      Src: com.jcraft.jsch.jzlib.Deflate:532,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_code(com.jcraft.jsch.jzlib.Deflate,short[])'
      Src: com.jcraft.jsch.jzlib.Deflate:536,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_code(int,short[])'
      Src: com.jcraft.jsch.jzlib.Deflate:539,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits(int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:540,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_code(int,short[])'
      Src: com.jcraft.jsch.jzlib.Deflate:542,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits(int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:543,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_code(int,short[])'
      Src: com.jcraft.jsch.jzlib.Deflate:545,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits(int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:546,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - short[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - tree
    - max_code
    argTypes:
    - short[]
    - int
    constantsTouched: []
    func_position:
      end: 561
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 561
    functionName: '[com.jcraft.jsch.jzlib.Deflate].send_tree(short[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].send_bits(int,int)'
    - '[com.jcraft.jsch.jzlib.Deflate].send_code(com.jcraft.jsch.jzlib.Deflate,short[])'
    - '[com.jcraft.jsch.jzlib.Deflate].send_code(int,short[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].send_tree(short[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.jzlib.Deflate:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - p
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 568
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 568
    functionName: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,int)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 572
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 572
    functionName: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.Deflate:575,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.Deflate:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - w
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: '[com.jcraft.jsch.jzlib.Deflate].put_short(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].put_short(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.Deflate:580,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.Deflate:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - b
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: '[com.jcraft.jsch.jzlib.Deflate].putShortMSB(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].putShortMSB(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits()'
      Src: com.jcraft.jsch.jzlib.Deflate:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - short[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - c
    - tree
    argTypes:
    - int
    - short[]
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: '[com.jcraft.jsch.jzlib.Deflate].send_code(int,short[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].send_bits()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].send_code(int,short[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_short(short)'
      Src: com.jcraft.jsch.jzlib.Deflate:595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 603
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 603
    functionName: '[com.jcraft.jsch.jzlib.Deflate].send_bits(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].put_short(short)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].send_bits(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits(int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:615,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_code(int,short[])'
      Src: com.jcraft.jsch.jzlib.Deflate:616,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].bi_flush()'
      Src: com.jcraft.jsch.jzlib.Deflate:618,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits(int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:625,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_code(int,short[])'
      Src: com.jcraft.jsch.jzlib.Deflate:626,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].bi_flush()'
      Src: com.jcraft.jsch.jzlib.Deflate:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 630
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 630
    functionName: '[com.jcraft.jsch.jzlib.Deflate]._tr_align()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].bi_flush()'
    - '[com.jcraft.jsch.jzlib.Deflate].send_bits(int,int)'
    - '[com.jcraft.jsch.jzlib.Deflate].send_code(int,short[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate]._tr_align()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Tree].d_code(int)'
      Src: com.jcraft.jsch.jzlib.Deflate:652,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - dist
    - lc
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 672
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 672
    functionName: '[com.jcraft.jsch.jzlib.Deflate]._tr_tally(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Tree].d_code(int)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jzlib.Deflate]._tr_tally(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_code(com.jcraft.jsch.jzlib.Deflate,short[])'
      Src: com.jcraft.jsch.jzlib.Deflate:690,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_code(int,short[])'
      Src: com.jcraft.jsch.jzlib.Deflate:695,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits(com.jcraft.jsch.jzlib.Deflate,com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:699,1
    - Dst: '[com.jcraft.jsch.jzlib.Tree].d_code(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:702,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_code(int,short[])'
      Src: com.jcraft.jsch.jzlib.Deflate:704,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits(com.jcraft.jsch.jzlib.Deflate,com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:708,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_code(int,short[])'
      Src: com.jcraft.jsch.jzlib.Deflate:716,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - short[]
      - short[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - ltree
    - dtree
    argTypes:
    - short[]
    - short[]
    constantsTouched: []
    func_position:
      end: 718
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 718
    functionName: '[com.jcraft.jsch.jzlib.Deflate].compress_block(short[],short[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].send_bits(com.jcraft.jsch.jzlib.Deflate,com.jcraft.jsch.jzlib.Deflate)'
    - '[com.jcraft.jsch.jzlib.Tree].d_code(com.jcraft.jsch.jzlib.Deflate)'
    - '[com.jcraft.jsch.jzlib.Deflate].send_code(com.jcraft.jsch.jzlib.Deflate,short[])'
    - '[com.jcraft.jsch.jzlib.Deflate].send_code(int,short[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].compress_block(short[],short[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 741
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 741
    functionName: '[com.jcraft.jsch.jzlib.Deflate].set_data_type()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].set_data_type()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_short(short)'
      Src: com.jcraft.jsch.jzlib.Deflate:746,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.Deflate:750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 754
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 754
    functionName: '[com.jcraft.jsch.jzlib.Deflate].bi_flush()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].put_short(short)'
    - '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].bi_flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_short(short)'
      Src: com.jcraft.jsch.jzlib.Deflate:759,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.Deflate:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 765
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 765
    functionName: '[com.jcraft.jsch.jzlib.Deflate].bi_windup()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].put_short(short)'
    - '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].bi_windup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].bi_windup()'
      Src: com.jcraft.jsch.jzlib.Deflate:774,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_short(short)'
      Src: com.jcraft.jsch.jzlib.Deflate:778,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_short(short)'
      Src: com.jcraft.jsch.jzlib.Deflate:779,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte[],int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - len
    - header
    argTypes:
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 787
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 787
    functionName: '[com.jcraft.jsch.jzlib.Deflate].copy_block(int,int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte[],int,int)'
    - '[com.jcraft.jsch.jzlib.Deflate].put_short(short)'
    - '[com.jcraft.jsch.jzlib.Deflate].bi_windup()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].copy_block(int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate]._tr_flush_block(com.jcraft.jsch.jzlib.Deflate,boolean)'
      Src: com.jcraft.jsch.jzlib.Deflate:790,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].flush_pending()'
      Src: com.jcraft.jsch.jzlib.Deflate:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - eof
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 793
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 793
    functionName: '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].flush_pending()'
    - '[com.jcraft.jsch.jzlib.Deflate]._tr_flush_block(com.jcraft.jsch.jzlib.Deflate,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].fill_window()'
      Src: com.jcraft.jsch.jzlib.Deflate:817,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(boolean)'
      Src: com.jcraft.jsch.jzlib.Deflate:834,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(boolean)'
      Src: com.jcraft.jsch.jzlib.Deflate:842,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:848,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - flush
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 853
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 853
    functionName: '[com.jcraft.jsch.jzlib.Deflate].deflate_stored(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(com.jcraft.jsch.jzlib.Deflate)'
    - '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(boolean)'
    - '[com.jcraft.jsch.jzlib.Deflate].fill_window()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].deflate_stored(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits(com.jcraft.jsch.jzlib.Deflate,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:860,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].copy_block(int,int,boolean)'
      Src: com.jcraft.jsch.jzlib.Deflate:861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - stored_len
    - eof
    argTypes:
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 862
      start: 856
    functionDepth: 3
    functionLinenumber: 856
    functionLinenumberEnd: 862
    functionName: '[com.jcraft.jsch.jzlib.Deflate]._tr_stored_block(int,int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].send_bits(com.jcraft.jsch.jzlib.Deflate,int)'
    - '[com.jcraft.jsch.jzlib.Deflate].copy_block(int,int,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate]._tr_stored_block(int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].set_data_type()'
      Src: com.jcraft.jsch.jzlib.Deflate:877,1
    - Dst: '[com.jcraft.jsch.jzlib.Tree].build_tree()'
      Src: com.jcraft.jsch.jzlib.Deflate:880,1
    - Dst: '[com.jcraft.jsch.jzlib.Tree].build_tree()'
      Src: com.jcraft.jsch.jzlib.Deflate:882,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].build_bl_tree()'
      Src: com.jcraft.jsch.jzlib.Deflate:889,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate]._tr_stored_block(int,int,boolean)'
      Src: com.jcraft.jsch.jzlib.Deflate:908,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits(com.jcraft.jsch.jzlib.Deflate,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:910,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].compress_block(short[],short[])'
      Src: com.jcraft.jsch.jzlib.Deflate:911,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_bits(com.jcraft.jsch.jzlib.Deflate,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:913,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].send_all_trees(int,int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:914,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].compress_block(short[],short[])'
      Src: com.jcraft.jsch.jzlib.Deflate:915,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].init_block()'
      Src: com.jcraft.jsch.jzlib.Deflate:921,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].bi_windup()'
      Src: com.jcraft.jsch.jzlib.Deflate:924,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - stored_len
    - eof
    argTypes:
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 926
      start: 866
    functionDepth: 4
    functionLinenumber: 866
    functionLinenumberEnd: 926
    functionName: '[com.jcraft.jsch.jzlib.Deflate]._tr_flush_block(int,int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].build_bl_tree()'
    - '[com.jcraft.jsch.jzlib.Deflate].init_block()'
    - '[com.jcraft.jsch.jzlib.Tree].build_tree()'
    - '[com.jcraft.jsch.jzlib.Deflate].send_all_trees(int,int,int)'
    - '[com.jcraft.jsch.jzlib.Deflate].set_data_type()'
    - '[com.jcraft.jsch.jzlib.Deflate].send_bits(com.jcraft.jsch.jzlib.Deflate,int)'
    - '[com.jcraft.jsch.jzlib.Deflate].compress_block(short[],short[])'
    - '[com.jcraft.jsch.jzlib.Deflate]._tr_stored_block(int,int,boolean)'
    - '[com.jcraft.jsch.jzlib.Deflate].bi_windup()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate]._tr_flush_block(int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.jzlib.Deflate:955,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].read_buf(byte[],com.jcraft.jsch.jzlib.Deflate,com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:998,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 1009
    functionName: '[com.jcraft.jsch.jzlib.Deflate].fill_window()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 3
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,int)
    - '[com.jcraft.jsch.jzlib.ZStream].read_buf(byte[],com.jcraft.jsch.jzlib.Deflate,com.jcraft.jsch.jzlib.Deflate)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Deflate].fill_window()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].fill_window()'
      Src: com.jcraft.jsch.jzlib.Deflate:1027,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].longest_match(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1055,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate]._tr_tally(com.jcraft.jsch.jzlib.Deflate,com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1062,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate]._tr_tally(int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1096,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(boolean)'
      Src: com.jcraft.jsch.jzlib.Deflate:1102,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1108,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 79
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - flush
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1116
      start: 1016
    functionDepth: 2
    functionLinenumber: 1016
    functionLinenumberEnd: 1116
    functionName: '[com.jcraft.jsch.jzlib.Deflate].deflate_fast(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].longest_match(com.jcraft.jsch.jzlib.Deflate)'
    - '[com.jcraft.jsch.jzlib.Deflate]._tr_tally(com.jcraft.jsch.jzlib.Deflate,com.jcraft.jsch.jzlib.Deflate)'
    - '[com.jcraft.jsch.jzlib.Deflate].fill_window()'
    - '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(com.jcraft.jsch.jzlib.Deflate)'
    - '[com.jcraft.jsch.jzlib.Deflate]._tr_tally(int,int)'
    - '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(boolean)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].deflate_fast(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].fill_window()'
      Src: com.jcraft.jsch.jzlib.Deflate:1134,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].longest_match(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1166,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate]._tr_tally(com.jcraft.jsch.jzlib.Deflate,com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1187,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(boolean)'
      Src: com.jcraft.jsch.jzlib.Deflate:1210,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate]._tr_tally(int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1220,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(boolean)'
      Src: com.jcraft.jsch.jzlib.Deflate:1223,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate]._tr_tally(int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1240,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1243,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 105
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - flush
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1253
      start: 1121
    functionDepth: 2
    functionLinenumber: 1121
    functionLinenumberEnd: 1253
    functionName: '[com.jcraft.jsch.jzlib.Deflate].deflate_slow(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].longest_match(com.jcraft.jsch.jzlib.Deflate)'
    - '[com.jcraft.jsch.jzlib.Deflate]._tr_tally(com.jcraft.jsch.jzlib.Deflate,com.jcraft.jsch.jzlib.Deflate)'
    - '[com.jcraft.jsch.jzlib.Deflate].fill_window()'
    - '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(com.jcraft.jsch.jzlib.Deflate)'
    - '[com.jcraft.jsch.jzlib.Deflate]._tr_tally(int,int)'
    - '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(boolean)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].deflate_slow(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 83
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cur_match
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1331
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1331
    functionName: '[com.jcraft.jsch.jzlib.Deflate].longest_match(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].longest_match(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int,int,int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - level
    - bits
    - memlevel
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1335
      start: 1333
    functionDepth: 4
    functionLinenumber: 1333
    functionLinenumberEnd: 1335
    functionName: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int,int,int,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int,int,int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - bits
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1339
      start: 1337
    functionDepth: 4
    functionLinenumber: 1337
    functionLinenumberEnd: 1339
    functionName: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int,int,int,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1343
      start: 1341
    functionDepth: 5
    functionLinenumber: 1341
    functionLinenumberEnd: 1343
    functionName: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.CRC32].<init>()'
      Src: com.jcraft.jsch.jzlib.Deflate:1366,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflateReset()'
      Src: com.jcraft.jsch.jzlib.Deflate:1405,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - level
    - method
    - windowBits
    - memLevel
    - strategy
    argTypes:
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1406
      start: 1345
    functionDepth: 3
    functionLinenumber: 1345
    functionLinenumberEnd: 1406
    functionName: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int,int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].deflateReset()'
    - '[com.jcraft.jsch.jzlib.CRC32].<init>()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].reset()'
      Src: com.jcraft.jsch.jzlib.Deflate:1420,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].tr_init()'
      Src: com.jcraft.jsch.jzlib.Deflate:1424,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].lm_init()'
      Src: com.jcraft.jsch.jzlib.Deflate:1425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1408
    functionDepth: 2
    functionLinenumber: 1408
    functionLinenumberEnd: 1427
    functionName: '[com.jcraft.jsch.jzlib.Deflate].deflateReset()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].tr_init()'
    - '[com.jcraft.jsch.jzlib.Deflate].lm_init()'
    - '[com.jcraft.jsch.jzlib.Checksum].reset()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].deflateReset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1442
    functionName: '[com.jcraft.jsch.jzlib.Deflate].deflateEnd()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].deflateEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].deflate(int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1456,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - _level
    - _strategy
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1468
      start: 1444
    functionDepth: 6
    functionLinenumber: 1444
    functionLinenumberEnd: 1468
    functionName: '[com.jcraft.jsch.jzlib.Deflate].deflateParams(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.ZStream].deflate(int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].deflateParams(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1477,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.jzlib.Deflate,byte[],int,com.jcraft.jsch.jzlib.Deflate)
      Src: com.jcraft.jsch.jzlib.Deflate:1485,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - dictionary
    - dictLength
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 1502
      start: 1470
    functionDepth: 1
    functionLinenumber: 1470
    functionLinenumberEnd: 1502
    functionName: '[com.jcraft.jsch.jzlib.Deflate].deflateSetDictionary(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,int)'
    - System.arraycopy(byte[],com.jcraft.jsch.jzlib.Deflate,byte[],int,com.jcraft.jsch.jzlib.Deflate)
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].deflateSetDictionary(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].getGZIPHeader()'
      Src: com.jcraft.jsch.jzlib.Deflate:1527,1
    - Dst: '[com.jcraft.jsch.jzlib.GZIPHeader].put()'
      Src: com.jcraft.jsch.jzlib.Deflate:1527,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].reset()'
      Src: com.jcraft.jsch.jzlib.Deflate:1529,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].putShortMSB(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1542,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].getValue()'
      Src: com.jcraft.jsch.jzlib.Deflate:1546,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].putShortMSB(int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1547,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].putShortMSB(int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1548,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].reset()'
      Src: com.jcraft.jsch.jzlib.Deflate:1550,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].flush_pending()'
      Src: com.jcraft.jsch.jzlib.Deflate:1556,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflate_stored(int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1586,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflate_fast(int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1589,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].deflate_slow(int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1592,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate]._tr_align()'
      Src: com.jcraft.jsch.jzlib.Deflate:1615,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate]._tr_stored_block(int,int,boolean)'
      Src: com.jcraft.jsch.jzlib.Deflate:1617,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].flush_pending()'
      Src: com.jcraft.jsch.jzlib.Deflate:1626,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].getValue()'
      Src: com.jcraft.jsch.jzlib.Deflate:1640,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.Deflate:1641,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.Deflate:1642,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.Deflate:1643,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.Deflate:1644,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.Deflate:1645,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.Deflate:1646,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.Deflate:1647,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.Deflate:1648,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].getGZIPHeader()'
      Src: com.jcraft.jsch.jzlib.Deflate:1650,1
    - Dst: '[com.jcraft.jsch.jzlib.GZIPHeader].setCRC(long)'
      Src: com.jcraft.jsch.jzlib.Deflate:1650,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].getValue()'
      Src: com.jcraft.jsch.jzlib.Deflate:1653,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].putShortMSB(int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1654,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].putShortMSB(int)'
      Src: com.jcraft.jsch.jzlib.Deflate:1655,1
    - Dst: '[com.jcraft.jsch.jzlib.ZStream].flush_pending()'
      Src: com.jcraft.jsch.jzlib.Deflate:1658,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 155
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - flush
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1666
      start: 1504
    functionDepth: 4
    functionLinenumber: 1504
    functionLinenumberEnd: 1666
    functionName: '[com.jcraft.jsch.jzlib.Deflate].deflate(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Checksum].reset()'
    - '[com.jcraft.jsch.jzlib.Deflate].deflate_slow(int)'
    - '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
    - '[com.jcraft.jsch.jzlib.Deflate].putShortMSB(int)'
    - '[com.jcraft.jsch.jzlib.ZStream].flush_pending()'
    - '[com.jcraft.jsch.jzlib.Deflate]._tr_align()'
    - '[com.jcraft.jsch.jzlib.Checksum].getValue()'
    - '[com.jcraft.jsch.jzlib.Deflate].getGZIPHeader()'
    - '[com.jcraft.jsch.jzlib.Deflate].deflate_stored(int)'
    - '[com.jcraft.jsch.jzlib.GZIPHeader].setCRC(long)'
    - '[com.jcraft.jsch.jzlib.Deflate].putShortMSB(com.jcraft.jsch.jzlib.Deflate)'
    - '[com.jcraft.jsch.jzlib.GZIPHeader].put()'
    - '[com.jcraft.jsch.jzlib.Deflate].deflate_fast(int)'
    - '[com.jcraft.jsch.jzlib.Deflate]._tr_stored_block(int,int,boolean)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].deflate(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.jzlib.Deflate)
      Src: com.jcraft.jsch.jzlib.Deflate:1676,1
    - Dst: System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.jzlib.Deflate)
      Src: com.jcraft.jsch.jzlib.Deflate:1684,1
    - Dst: '[com.jcraft.jsch.jzlib.Checksum].copy()'
      Src: com.jcraft.jsch.jzlib.Deflate:1693,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].clone()'
      Src: com.jcraft.jsch.jzlib.Deflate:1696,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.jzlib.ZStream
      - com.jcraft.jsch.jzlib.ZStream
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - com.jcraft.jsch.jzlib.ZStream
    - com.jcraft.jsch.jzlib.ZStream
    constantsTouched: []
    func_position:
      end: 1702
      start: 1668
    functionDepth: 2
    functionLinenumber: 1668
    functionLinenumberEnd: 1702
    functionName: '[com.jcraft.jsch.jzlib.Deflate].deflateCopy(com.jcraft.jsch.jzlib.ZStream,com.jcraft.jsch.jzlib.ZStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,com.jcraft.jsch.jzlib.Deflate)
    - '[com.jcraft.jsch.jzlib.Checksum].copy()'
    - '[com.jcraft.jsch.jzlib.Deflate].clone()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.Deflate].deflateCopy(com.jcraft.jsch.jzlib.ZStream,com.jcraft.jsch.jzlib.ZStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].clone()'
      Src: com.jcraft.jsch.jzlib.Deflate:1706,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].dup(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1708,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].dup(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1709,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].dup(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1710,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].dup(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1712,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].dup(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1713,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].dup(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1714,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].dup(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1715,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].dup(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1716,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].dup(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1718,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].dup(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1719,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].dup(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1720,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].dup(com.jcraft.jsch.jzlib.Deflate)'
      Src: com.jcraft.jsch.jzlib.Deflate:1721,1
    - Dst: dest.gheader.clone()
      Src: com.jcraft.jsch.jzlib.Deflate:1733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions:
      - CloneNotSupportedException
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1704
    functionDepth: 1
    functionLinenumber: 1704
    functionLinenumberEnd: 1737
    functionName: '[com.jcraft.jsch.jzlib.Deflate].clone()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[Object].clone()'
    - '[com.jcraft.jsch.jzlib.Deflate].dup(com.jcraft.jsch.jzlib.Deflate)'
    - dest.gheader.clone()
    linkageType: ''
    returnType: Object
    signature: '[com.jcraft.jsch.jzlib.Deflate].clone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.Deflate,int,com.jcraft.jsch.jzlib.Deflate)
      Src: com.jcraft.jsch.jzlib.Deflate:1741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 1743
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1743
    functionName: '[com.jcraft.jsch.jzlib.Deflate].dup(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.jzlib.Deflate,int,com.jcraft.jsch.jzlib.Deflate)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jzlib.Deflate].dup(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(short[],int,com.jcraft.jsch.jzlib.Deflate,int,com.jcraft.jsch.jzlib.Deflate)
      Src: com.jcraft.jsch.jzlib.Deflate:1747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - short[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: short[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - short[]
    constantsTouched: []
    func_position:
      end: 1749
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1749
    functionName: '[com.jcraft.jsch.jzlib.Deflate].dup(short[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(short[],int,com.jcraft.jsch.jzlib.Deflate,int,com.jcraft.jsch.jzlib.Deflate)
    linkageType: ''
    returnType: short[]
    signature: '[com.jcraft.jsch.jzlib.Deflate].dup(short[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(int[],int,com.jcraft.jsch.jzlib.Deflate,int,com.jcraft.jsch.jzlib.Deflate)
      Src: com.jcraft.jsch.jzlib.Deflate:1753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - int[]
    constantsTouched: []
    func_position:
      end: 1755
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1755
    functionName: '[com.jcraft.jsch.jzlib.Deflate].dup(int[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(int[],int,com.jcraft.jsch.jzlib.Deflate,int,com.jcraft.jsch.jzlib.Deflate)
    linkageType: ''
    returnType: int[]
    signature: '[com.jcraft.jsch.jzlib.Deflate].dup(int[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.GZIPHeader].<init>()'
      Src: com.jcraft.jsch.jzlib.Deflate:1759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - Config[]
      - String[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - short[]
      - short[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short[]
      - short[]
      - short[]
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - com.jcraft.jsch.jzlib.Tree
      - short[]
      - short[]
      - int[]
      - int
      - int
      - byte[]
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - short
      - int
      - com.jcraft.jsch.jzlib.GZIPHeader
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.GZIPHeader
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1757
    functionDepth: 1
    functionLinenumber: 1757
    functionLinenumberEnd: 1762
    functionName: '[com.jcraft.jsch.jzlib.Deflate].getGZIPHeader()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.GZIPHeader].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.GZIPHeader
    signature: '[com.jcraft.jsch.jzlib.Deflate].getGZIPHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Deflate.Config
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - good_length
    - max_lazy
    - nice_length
    - max_chain
    - func
    argTypes:
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: '[com.jcraft.jsch.jzlib.Deflate.Config].<init>(int,int,int,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Deflate.Config
    signature: '[com.jcraft.jsch.jzlib.Deflate.Config].<init>(int,int,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - init
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '[com.jcraft.jsch.jzlib.Adler32].reset(long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Adler32.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Adler32].reset(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.jzlib.Adler32].reset()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Adler32.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Adler32].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.jzlib.Adler32].getValue()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Adler32.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.Adler32].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - index
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 92
    functionName: '[com.jcraft.jsch.jzlib.Adler32].update(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Adler32.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.Adler32].update(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Adler32].<init>()'
      Src: com.jcraft.jsch.jzlib.Adler32:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.Adler32
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: '[com.jcraft.jsch.jzlib.Adler32].copy()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Adler32.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Adler32].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Adler32
    signature: '[com.jcraft.jsch.jzlib.Adler32].copy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - adler1
    - adler2
    - len2
    argTypes:
    - long
    - long
    - long
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: '[com.jcraft.jsch.jzlib.Adler32].combine(long,long,long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Adler32.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.Adler32].combine(long,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.jzlib.Checksum
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.Adler32
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.Adler32].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Adler32.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Adler32
    signature: '[com.jcraft.jsch.jzlib.Adler32].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,boolean)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.InflaterInputStream
      static: false
      superClass: java.io.FilterInputStream
    argCount: 1
    argNames:
    - in
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,boolean)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.InflaterInputStream
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].<init>(boolean)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:52,1
    - Dst: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.InflaterInputStream
      static: false
      superClass: java.io.FilterInputStream
    argCount: 2
    argNames:
    - in
    - nowrap
    argTypes:
    - java.io.InputStream
    - boolean
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].<init>(boolean)'
    - '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.InflaterInputStream
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater,int)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - com.jcraft.jsch.jzlib.Inflater
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.InflaterInputStream
      static: false
      superClass: java.io.FilterInputStream
    argCount: 2
    argNames:
    - in
    - inflater
    argTypes:
    - java.io.InputStream
    - com.jcraft.jsch.jzlib.Inflater
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater,int)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.InflaterInputStream
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater,int,boolean)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - com.jcraft.jsch.jzlib.Inflater
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.InflaterInputStream
      static: false
      superClass: java.io.FilterInputStream
    argCount: 3
    argNames:
    - in
    - inflater
    - size
    argTypes:
    - java.io.InputStream
    - com.jcraft.jsch.jzlib.Inflater
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater,int,boolean)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.InflaterInputStream
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.FilterInputStream].<init>(java.io.InputStream)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:66,1
    - Dst: '[NullPointerException].<init>()'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:68,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - com.jcraft.jsch.jzlib.Inflater
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.InflaterInputStream
      static: false
      superClass: java.io.FilterInputStream
    argCount: 4
    argNames:
    - in
    - inflater
    - size
    - close_in
    argTypes:
    - java.io.InputStream
    - com.jcraft.jsch.jzlib.Inflater
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater,int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 1
    functionsReached:
    - '[java.io.FilterInputStream].<init>(java.io.InputStream)'
    - '[IllegalArgumentException].<init>(String)'
    - '[NullPointerException].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.InflaterInputStream
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:84,1
    - Dst: '[com.jcraft.jsch.jzlib.InflaterInputStream].read(byte[],int,int)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.io.FilterInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].read()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(String)'
    - '[com.jcraft.jsch.jzlib.InflaterInputStream].read(byte[],int,int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].read()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:92,1
    - Dst: '[NullPointerException].<init>()'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:95,1
    - Dst: '[IndexOutOfBoundsException].<init>()'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:97,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[],int,int)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:105,1
    - Dst: '[com.jcraft.jsch.jzlib.InflaterInputStream].fill()'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:108,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].inflate(int)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:109,1
    - Dst: '[java.io.IOException].<init>(com.jcraft.jsch.jzlib.InflaterInputStream)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:114,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.io.FilterInputStream
    argCount: 3
    argNames:
    - b
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 127
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].read(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 1
    functionsReached:
    - '[java.io.IOException].<init>(com.jcraft.jsch.jzlib.InflaterInputStream)'
    - '[com.jcraft.jsch.jzlib.InflaterInputStream].fill()'
    - '[com.jcraft.jsch.jzlib.Inflater].inflate(int)'
    - '[NullPointerException].<init>()'
    - '[com.jcraft.jsch.jzlib.Inflater].setOutput(byte[],int,int)'
    - '[java.io.IOException].<init>(String)'
    - '[IndexOutOfBoundsException].<init>()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].read(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.io.FilterInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].available()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(String)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].available()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:146,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:150,1
    - Dst: Math.min(long,com.jcraft.jsch.jzlib.InflaterInputStream)
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:153,1
    - Dst: '[com.jcraft.jsch.jzlib.InflaterInputStream].read(byte[],int,com.jcraft.jsch.jzlib.InflaterInputStream)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: java.io.FilterInputStream
    argCount: 1
    argNames:
    - n
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 168
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 168
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].skip(long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.InflaterInputStream].read(byte[],int,com.jcraft.jsch.jzlib.InflaterInputStream)'
    - '[java.io.IOException].<init>(String)'
    - '[IllegalArgumentException].<init>(String)'
    - Math.min(long,com.jcraft.jsch.jzlib.InflaterInputStream)
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].skip(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].end()'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:174,1
    - Dst: in.close()
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].close()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 0
    functionsReached:
    - in.close()
    - '[com.jcraft.jsch.jzlib.Inflater].end()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:183,1
    - Dst: in.read(byte[],int,com.jcraft.jsch.jzlib.InflaterInputStream)
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:185,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].finished()'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:187,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:191,1
    - Dst: '[java.io.EOFException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:193,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[],int,com.jcraft.jsch.jzlib.InflaterInputStream,boolean)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].fill()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].finished()'
    - '[java.io.EOFException].<init>(String)'
    - in.read(byte[],int,com.jcraft.jsch.jzlib.InflaterInputStream)
    - '[java.io.IOException].<init>(String)'
    - '[com.jcraft.jsch.jzlib.Inflater].setInput(byte[],int,com.jcraft.jsch.jzlib.InflaterInputStream,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].fill()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: java.io.FilterInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].markSupported()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].markSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterInputStream
    argCount: 1
    argNames:
    - readlimit
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].mark(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].mark(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].reset()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].getTotalIn()'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: java.io.FilterInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].getTotalIn()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].getTotalIn()'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].getTotalIn()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].getTotalOut()'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: java.io.FilterInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].getTotalOut()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Inflater].getTotalOut()'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].getTotalOut()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(com.jcraft.jsch.jzlib.InflaterInputStream,com.jcraft.jsch.jzlib.InflaterInputStream,com.jcraft.jsch.jzlib.InflaterInputStream,int,com.jcraft.jsch.jzlib.InflaterInputStream)
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: java.io.FilterInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].getAvailIn()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(com.jcraft.jsch.jzlib.InflaterInputStream,com.jcraft.jsch.jzlib.InflaterInputStream,com.jcraft.jsch.jzlib.InflaterInputStream,int,com.jcraft.jsch.jzlib.InflaterInputStream)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].getAvailIn()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(com.jcraft.jsch.jzlib.InflaterInputStream)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:230,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setInput(com.jcraft.jsch.jzlib.InflaterInputStream,int,int,boolean)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:231,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setOutput(com.jcraft.jsch.jzlib.InflaterInputStream,int,int)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:232,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].inflate(int)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:234,1
    - Dst: '[com.jcraft.jsch.jzlib.InflaterInputStream].inParsingHeader()'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:235,1
    - Dst: in.read(com.jcraft.jsch.jzlib.InflaterInputStream)
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:241,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:243,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].setInput(com.jcraft.jsch.jzlib.InflaterInputStream)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:244,1
    - Dst: '[com.jcraft.jsch.jzlib.Inflater].inflate(int)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:245,1
    - Dst: '[java.io.IOException].<init>(com.jcraft.jsch.jzlib.InflaterInputStream)'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:247,1
    - Dst: '[com.jcraft.jsch.jzlib.InflaterInputStream].inParsingHeader()'
      Src: com.jcraft.jsch.jzlib.InflaterInputStream:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 249
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].readHeader()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(com.jcraft.jsch.jzlib.InflaterInputStream)'
    - in.read(com.jcraft.jsch.jzlib.InflaterInputStream)
    - '[java.io.IOException].<init>(com.jcraft.jsch.jzlib.InflaterInputStream)'
    - '[com.jcraft.jsch.jzlib.Inflater].setInput(com.jcraft.jsch.jzlib.InflaterInputStream)'
    - '[com.jcraft.jsch.jzlib.Inflater].setOutput(com.jcraft.jsch.jzlib.InflaterInputStream,int,int)'
    - '[com.jcraft.jsch.jzlib.InflaterInputStream].inParsingHeader()'
    - '[com.jcraft.jsch.jzlib.Inflater].inflate(int)'
    - '[java.io.IOException].<init>(String)'
    - '[com.jcraft.jsch.jzlib.Inflater].setInput(com.jcraft.jsch.jzlib.InflaterInputStream,int,int,boolean)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].readHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Inflater
      - byte[]
      - boolean
      - boolean
      - boolean
      - int
      - boolean
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Inflater
      static: false
      superClass: java.io.FilterInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: '[com.jcraft.jsch.jzlib.InflaterInputStream].getInflater()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Inflater
    signature: '[com.jcraft.jsch.jzlib.InflaterInputStream].getInflater()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.jzlib.ZStream
      - com.jcraft.jsch.jzlib.InfBlocks
      classConcrete: true
      classEnum: false
      classFields:
      - int[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int[]
      - int
      - int[]
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - com.jcraft.jsch.jzlib.InfBlocks
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.InfCodes
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - z
    - s
    argTypes:
    - com.jcraft.jsch.jzlib.ZStream
    - com.jcraft.jsch.jzlib.InfBlocks
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[com.jcraft.jsch.jzlib.InfCodes].<init>(com.jcraft.jsch.jzlib.ZStream,com.jcraft.jsch.jzlib.InfBlocks)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfCodes.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.InfCodes
    signature: '[com.jcraft.jsch.jzlib.InfCodes].<init>(com.jcraft.jsch.jzlib.ZStream,com.jcraft.jsch.jzlib.InfBlocks)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int[]
      - int
      - int[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int[]
      - int
      - int[]
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - com.jcraft.jsch.jzlib.InfBlocks
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - bl
    - bd
    - tl
    - tl_index
    - td
    - td_index
    argTypes:
    - int
    - int
    - int[]
    - int
    - int[]
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: '[com.jcraft.jsch.jzlib.InfCodes].init(int,int,int[],int,int[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfCodes.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.InfCodes].init(int,int,int[],int,int[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.InfCodes].inflate_fast(byte,byte,int[],int,int[],int,com.jcraft.jsch.jzlib.InfBlocks,com.jcraft.jsch.jzlib.ZStream)'
      Src: com.jcraft.jsch.jzlib.InfCodes:139,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfCodes)'
      Src: com.jcraft.jsch.jzlib.InfCodes:172,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfCodes)'
      Src: com.jcraft.jsch.jzlib.InfCodes:216,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfCodes)'
      Src: com.jcraft.jsch.jzlib.InfCodes:232,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfCodes)'
      Src: com.jcraft.jsch.jzlib.InfCodes:262,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfCodes)'
      Src: com.jcraft.jsch.jzlib.InfCodes:296,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfCodes)'
      Src: com.jcraft.jsch.jzlib.InfCodes:312,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfCodes)'
      Src: com.jcraft.jsch.jzlib.InfCodes:339,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(int)'
      Src: com.jcraft.jsch.jzlib.InfCodes:355,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(int)'
      Src: com.jcraft.jsch.jzlib.InfCodes:377,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(int)'
      Src: com.jcraft.jsch.jzlib.InfCodes:392,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfCodes)'
      Src: com.jcraft.jsch.jzlib.InfCodes:411,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(int)'
      Src: com.jcraft.jsch.jzlib.InfCodes:422,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfCodes)'
      Src: com.jcraft.jsch.jzlib.InfCodes:433,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfCodes)'
      Src: com.jcraft.jsch.jzlib.InfCodes:444,1
    - Dst: '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfCodes)'
      Src: com.jcraft.jsch.jzlib.InfCodes:455,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 355
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int[]
      - int
      - int[]
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - com.jcraft.jsch.jzlib.InfBlocks
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - r
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 458
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 458
    functionName: '[com.jcraft.jsch.jzlib.InfCodes].proc(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfCodes.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(int)'
    - '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(com.jcraft.jsch.jzlib.InfCodes)'
    - '[com.jcraft.jsch.jzlib.InfCodes].inflate_fast(byte,byte,int[],int,int[],int,com.jcraft.jsch.jzlib.InfBlocks,com.jcraft.jsch.jzlib.ZStream)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.InfCodes].proc(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.jzlib.ZStream
      classConcrete: true
      classEnum: false
      classFields:
      - int[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int[]
      - int
      - int[]
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - com.jcraft.jsch.jzlib.InfBlocks
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - z
    argTypes:
    - com.jcraft.jsch.jzlib.ZStream
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: '[com.jcraft.jsch.jzlib.InfCodes].free(com.jcraft.jsch.jzlib.ZStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfCodes.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.InfCodes].free(com.jcraft.jsch.jzlib.ZStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.jzlib.InfCodes,byte[],com.jcraft.jsch.jzlib.InfCodes,int)
      Src: com.jcraft.jsch.jzlib.InfCodes:576,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.jzlib.InfCodes,byte[],com.jcraft.jsch.jzlib.InfCodes,com.jcraft.jsch.jzlib.InfCodes)
      Src: com.jcraft.jsch.jzlib.InfCodes:594,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.jzlib.InfCodes,byte[],com.jcraft.jsch.jzlib.InfCodes,com.jcraft.jsch.jzlib.InfCodes)
      Src: com.jcraft.jsch.jzlib.InfCodes:609,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 252
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int[]
      - int
      - int[]
      - int
      - com.jcraft.jsch.jzlib.InfBlocks
      - com.jcraft.jsch.jzlib.ZStream
      classConcrete: true
      classEnum: false
      classFields:
      - int[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - int[]
      - int
      - int[]
      - int
      - com.jcraft.jsch.jzlib.ZStream
      - com.jcraft.jsch.jzlib.InfBlocks
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 8
    argNames:
    - bl
    - bd
    - tl
    - tl_index
    - td
    - td_index
    - s
    - z
    argTypes:
    - int
    - int
    - int[]
    - int
    - int[]
    - int
    - com.jcraft.jsch.jzlib.InfBlocks
    - com.jcraft.jsch.jzlib.ZStream
    constantsTouched: []
    func_position:
      end: 707
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 707
    functionName: '[com.jcraft.jsch.jzlib.InfCodes].inflate_fast(int,int,int[],int,int[],int,com.jcraft.jsch.jzlib.InfBlocks,com.jcraft.jsch.jzlib.ZStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfCodes.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],com.jcraft.jsch.jzlib.InfCodes,byte[],com.jcraft.jsch.jzlib.InfCodes,com.jcraft.jsch.jzlib.InfCodes)
    - System.arraycopy(byte[],com.jcraft.jsch.jzlib.InfCodes,byte[],com.jcraft.jsch.jzlib.InfCodes,int)
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.InfCodes].inflate_fast(int,int,int[],int,int[],int,com.jcraft.jsch.jzlib.InfBlocks,com.jcraft.jsch.jzlib.ZStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - boolean
      - boolean
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - int
      - long
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mtime
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: '[com.jcraft.jsch.jzlib.GZIPHeader].setModifiedTime(long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPHeader.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.GZIPHeader].setModifiedTime(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - boolean
      - boolean
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - int
      - long
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[com.jcraft.jsch.jzlib.GZIPHeader].getModifiedTime()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPHeader.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.GZIPHeader].getModifiedTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - boolean
      - boolean
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - int
      - long
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - os
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.jzlib.GZIPHeader].setOS(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPHeader.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.GZIPHeader].setOS(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - boolean
      - boolean
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - int
      - long
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: '[com.jcraft.jsch.jzlib.GZIPHeader].getOS()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPHeader.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.GZIPHeader].getOS()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(com.jcraft.jsch.jzlib.GZIPHeader)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - boolean
      - boolean
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - int
      - long
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: '[com.jcraft.jsch.jzlib.GZIPHeader].setName(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPHeader.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(com.jcraft.jsch.jzlib.GZIPHeader)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.GZIPHeader].setName(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].<init>(byte[],com.jcraft.jsch.jzlib.GZIPHeader)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - boolean
      - boolean
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - int
      - long
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: '[com.jcraft.jsch.jzlib.GZIPHeader].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPHeader.java
    functionUses: 0
    functionsReached:
    - '[String].<init>(byte[],com.jcraft.jsch.jzlib.GZIPHeader)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jzlib.GZIPHeader].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(com.jcraft.jsch.jzlib.GZIPHeader)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - boolean
      - boolean
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - int
      - long
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - comment
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '[com.jcraft.jsch.jzlib.GZIPHeader].setComment(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPHeader.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(com.jcraft.jsch.jzlib.GZIPHeader)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.GZIPHeader].setComment(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].<init>(byte[],com.jcraft.jsch.jzlib.GZIPHeader)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - boolean
      - boolean
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - int
      - long
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: '[com.jcraft.jsch.jzlib.GZIPHeader].getComment()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPHeader.java
    functionUses: 0
    functionsReached:
    - '[String].<init>(byte[],com.jcraft.jsch.jzlib.GZIPHeader)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jzlib.GZIPHeader].getComment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - boolean
      - boolean
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - int
      - long
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - crc
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: '[com.jcraft.jsch.jzlib.GZIPHeader].setCRC(long)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPHeader.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.GZIPHeader].setCRC(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - boolean
      - boolean
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - int
      - long
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[com.jcraft.jsch.jzlib.GZIPHeader].getCRC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPHeader.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.GZIPHeader].getCRC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_short(short)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:139,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:140,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:141,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:142,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:143,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:144,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:145,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:146,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:147,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:150,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:151,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte[],int,com.jcraft.jsch.jzlib.GZIPHeader)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:152,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte[],int,com.jcraft.jsch.jzlib.GZIPHeader)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:156,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:157,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte[],int,com.jcraft.jsch.jzlib.GZIPHeader)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:161,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:162,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.jzlib.Deflate
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - boolean
      - boolean
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - int
      - long
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - d
    argTypes:
    - com.jcraft.jsch.jzlib.Deflate
    constantsTouched: []
    func_position:
      end: 164
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 164
    functionName: '[com.jcraft.jsch.jzlib.GZIPHeader].put(com.jcraft.jsch.jzlib.Deflate)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPHeader.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflate].put_short(short)'
    - '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte[],int,com.jcraft.jsch.jzlib.GZIPHeader)'
    - '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.GZIPHeader].put(com.jcraft.jsch.jzlib.Deflate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].clone()'
      Src: com.jcraft.jsch.jzlib.GZIPHeader:168,1
    - Dst: System.arraycopy(com.jcraft.jsch.jzlib.GZIPHeader,int,com.jcraft.jsch.jzlib.GZIPHeader,int,com.jcraft.jsch.jzlib.GZIPHeader)
      Src: com.jcraft.jsch.jzlib.GZIPHeader:172,1
    - Dst: System.arraycopy(com.jcraft.jsch.jzlib.GZIPHeader,int,com.jcraft.jsch.jzlib.GZIPHeader,int,com.jcraft.jsch.jzlib.GZIPHeader)
      Src: com.jcraft.jsch.jzlib.GZIPHeader:178,1
    - Dst: System.arraycopy(com.jcraft.jsch.jzlib.GZIPHeader,int,com.jcraft.jsch.jzlib.GZIPHeader,int,com.jcraft.jsch.jzlib.GZIPHeader)
      Src: com.jcraft.jsch.jzlib.GZIPHeader:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - boolean
      - boolean
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - int
      - long
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions:
      - CloneNotSupportedException
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 189
    functionName: '[com.jcraft.jsch.jzlib.GZIPHeader].clone()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPHeader.java
    functionUses: 0
    functionsReached:
    - '[Object].clone()'
    - System.arraycopy(com.jcraft.jsch.jzlib.GZIPHeader,int,com.jcraft.jsch.jzlib.GZIPHeader,int,com.jcraft.jsch.jzlib.GZIPHeader)
    linkageType: ''
    returnType: Object
    signature: '[com.jcraft.jsch.jzlib.GZIPHeader].clone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - boolean
      - boolean
      - int
      - int
      - byte[]
      - byte[]
      - byte[]
      - int
      - long
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jzlib.GZIPHeader
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jzlib.GZIPHeader].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPHeader.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.GZIPHeader
    signature: '[com.jcraft.jsch.jzlib.GZIPHeader].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].<init>(int)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:52,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater,int,boolean)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.DeflaterOutputStream
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 1
    argNames:
    - out
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 10
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflater].<init>(int)'
    - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater,int,boolean)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.DeflaterOutputStream
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater,int,boolean)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - com.jcraft.jsch.jzlib.Deflater
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.DeflaterOutputStream
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 2
    argNames:
    - out
    - def
    argTypes:
    - java.io.OutputStream
    - com.jcraft.jsch.jzlib.Deflater
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater,int,boolean)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.DeflaterOutputStream
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater,int,boolean)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - com.jcraft.jsch.jzlib.Deflater
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.DeflaterOutputStream
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 3
    argNames:
    - out
    - deflater
    - size
    argTypes:
    - java.io.OutputStream
    - com.jcraft.jsch.jzlib.Deflater
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater,int,boolean)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.DeflaterOutputStream
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.FilterOutputStream].<init>(java.io.OutputStream)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:66,1
    - Dst: '[NullPointerException].<init>()'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:68,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - com.jcraft.jsch.jzlib.Deflater
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.DeflaterOutputStream
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 4
    argNames:
    - out
    - deflater
    - size
    - close_out
    argTypes:
    - java.io.OutputStream
    - com.jcraft.jsch.jzlib.Deflater
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater,int,boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 3
    functionsReached:
    - '[NullPointerException].<init>()'
    - '[IllegalArgumentException].<init>(String)'
    - '[java.io.FilterOutputStream].<init>(java.io.OutputStream)'
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.DeflaterOutputStream
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].write(byte[],int,int)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 1
    argNames:
    - b
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].write(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].write(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].write(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].finished()'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:85,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:86,1
    - Dst: '[IndexOutOfBoundsException].<init>()'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:88,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setInput(byte[],int,int,boolean)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:93,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].deflate(com.jcraft.jsch.jzlib.DeflaterOutputStream)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 3
    argNames:
    - b
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].write(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflater].setInput(byte[],int,int,boolean)'
    - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].deflate(com.jcraft.jsch.jzlib.DeflaterOutputStream)'
    - '[com.jcraft.jsch.jzlib.Deflater].finished()'
    - '[java.io.IOException].<init>(String)'
    - '[IndexOutOfBoundsException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].write(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].finished()'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:103,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].deflate(int)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].finish()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].deflate(int)'
    - '[com.jcraft.jsch.jzlib.Deflater].finished()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].finish()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].finish()'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:111,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].end()'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:113,1
    - Dst: out.close()
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].close()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 3
    functionsReached:
    - out.close()
    - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].finish()'
    - '[com.jcraft.jsch.jzlib.Deflater].end()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].setOutput(byte[],int,com.jcraft.jsch.jzlib.DeflaterOutputStream)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:123,1
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].deflate(int)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:124,1
    - Dst: '[java.io.IOException].<init>(com.jcraft.jsch.jzlib.DeflaterOutputStream)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:135,1
    - Dst: out.write(byte[],int,com.jcraft.jsch.jzlib.DeflaterOutputStream)
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:140,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 1
    argNames:
    - flush
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 143
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].deflate(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 2
    functionsReached:
    - out.write(byte[],int,com.jcraft.jsch.jzlib.DeflaterOutputStream)
    - '[com.jcraft.jsch.jzlib.Deflater].setOutput(byte[],int,com.jcraft.jsch.jzlib.DeflaterOutputStream)'
    - '[java.io.IOException].<init>(com.jcraft.jsch.jzlib.DeflaterOutputStream)'
    - '[com.jcraft.jsch.jzlib.Deflater].deflate(int)'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].deflate(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].finished()'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:147,1
    - Dst: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].deflate(int)'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:149,1
    - Dst: out.flush()
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].flush()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].deflate(int)'
    - out.flush()
    - '[com.jcraft.jsch.jzlib.Deflater].finished()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].getTotalIn()'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].getTotalIn()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflater].getTotalIn()'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].getTotalIn()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jzlib.Deflater].getTotalOut()'
      Src: com.jcraft.jsch.jzlib.DeflaterOutputStream:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].getTotalOut()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jzlib.Deflater].getTotalOut()'
    linkageType: ''
    returnType: long
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].getTotalOut()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 1
    argNames:
    - syncFlush
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].setSyncFlush(boolean)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].setSyncFlush(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].getSyncFlush()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].getSyncFlush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.jzlib.Deflater
      - byte[]
      - boolean
      - boolean
      - byte[]
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: com.jcraft.jsch.jzlib.Deflater
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].getDeflater()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jzlib.Deflater
    signature: '[com.jcraft.jsch.jzlib.DeflaterOutputStream].getDeflater()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACSHA512ETM
      static: false
      superClass: com.jcraft.jsch.jce.HMACSHA512
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.HMACSHA512ETM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA512ETM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACSHA512ETM
    signature: '[com.jcraft.jsch.jce.HMACSHA512ETM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACSHA1
      static: false
      superClass: com.jcraft.jsch.jce.HMAC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.jce.HMACSHA1].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA1.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACSHA1
    signature: '[com.jcraft.jsch.jce.HMACSHA1].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureRSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.SignatureRSASHA512].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA512.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureRSASHA512].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureRSASHA512
      static: false
      superClass: com.jcraft.jsch.jce.SignatureRSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureRSASHA512].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA512.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureRSASHA512
    signature: '[com.jcraft.jsch.jce.SignatureRSASHA512].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.jce.AES128CBC].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AES128CBC].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.jce.AES128CBC].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AES128CBC].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES128CBC,int,com.jcraft.jsch.jce.AES128CBC)
      Src: com.jcraft.jsch.jce.AES128CBC:53,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES128CBC,int,com.jcraft.jsch.jce.AES128CBC)
      Src: com.jcraft.jsch.jce.AES128CBC:58,1
    - Dst: '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.AES128CBC,String)'
      Src: com.jcraft.jsch.jce.AES128CBC:63,1
    - Dst: '[javax.crypto.Cipher].getInstance(String)'
      Src: com.jcraft.jsch.jce.AES128CBC:64,1
    - Dst: '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.AES128CBC)'
      Src: com.jcraft.jsch.jce.AES128CBC:67,1
    - Dst: '[com.jcraft.jsch.jce.AES128CBC].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
      Src: com.jcraft.jsch.jce.AES128CBC:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 72
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 72
    functionName: '[com.jcraft.jsch.jce.AES128CBC].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128CBC.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].getInstance(String)'
    - '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.AES128CBC)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES128CBC,int,com.jcraft.jsch.jce.AES128CBC)
    - '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.AES128CBC,String)'
    - '[com.jcraft.jsch.jce.AES128CBC].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AES128CBC].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.AES128CBC:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[com.jcraft.jsch.jce.AES128CBC].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128CBC.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AES128CBC].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[com.jcraft.jsch.jce.AES128CBC].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.AES128CBC].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.AES128CBC
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.AES128CBC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.AES128CBC
    signature: '[com.jcraft.jsch.jce.AES128CBC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureRSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.SignatureRSASHA256].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureRSASHA256].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureRSASHA256
      static: false
      superClass: com.jcraft.jsch.jce.SignatureRSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureRSASHA256].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureRSASHA256
    signature: '[com.jcraft.jsch.jce.SignatureRSASHA256].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureRSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.SignatureRSASHA256SSHCOM].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA256SSHCOM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureRSASHA256SSHCOM].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureRSASHA256SSHCOM
      static: false
      superClass: com.jcraft.jsch.jce.SignatureRSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureRSASHA256SSHCOM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA256SSHCOM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureRSASHA256SSHCOM
    signature: '[com.jcraft.jsch.jce.SignatureRSASHA256SSHCOM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.jce.AES256CTR].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AES256CTR].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.jce.AES256CTR].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AES256CTR].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES256CTR,int,com.jcraft.jsch.jce.AES256CTR)
      Src: com.jcraft.jsch.jce.AES256CTR:53,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES256CTR,int,com.jcraft.jsch.jce.AES256CTR)
      Src: com.jcraft.jsch.jce.AES256CTR:58,1
    - Dst: '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.AES256CTR,String)'
      Src: com.jcraft.jsch.jce.AES256CTR:62,1
    - Dst: '[javax.crypto.Cipher].getInstance(String)'
      Src: com.jcraft.jsch.jce.AES256CTR:63,1
    - Dst: '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.AES256CTR)'
      Src: com.jcraft.jsch.jce.AES256CTR:66,1
    - Dst: '[com.jcraft.jsch.jce.AES256CTR].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
      Src: com.jcraft.jsch.jce.AES256CTR:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.jce.AES256CTR].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256CTR.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.AES256CTR,String)'
    - '[com.jcraft.jsch.jce.AES256CTR].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
    - '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.AES256CTR)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES256CTR,int,com.jcraft.jsch.jce.AES256CTR)
    - '[javax.crypto.Cipher].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AES256CTR].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.AES256CTR:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.jce.AES256CTR].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256CTR.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AES256CTR].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.jce.AES256CTR].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.AES256CTR].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.AES256CTR
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.AES256CTR].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.AES256CTR
    signature: '[com.jcraft.jsch.jce.AES256CTR].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jce.AESGCM
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.jce.AES256GCM].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256GCM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AES256GCM].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.AES256GCM
      static: false
      superClass: com.jcraft.jsch.jce.AESGCM
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.AES256GCM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256GCM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.AES256GCM
    signature: '[com.jcraft.jsch.jce.AES256GCM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEd25519:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureEd25519
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.jce.SignatureEd25519].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd25519.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureEd25519
    signature: '[com.jcraft.jsch.jce.SignatureEd25519].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEd25519:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.jce.SignatureEd25519].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd25519.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureEd25519].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEd25519:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - y_arr
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.jce.SignatureEd25519].setPubKey(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd25519.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureEd25519].setPubKey(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEd25519:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[com.jcraft.jsch.jce.SignatureEd25519].setPrvKey(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd25519.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureEd25519].setPrvKey(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEd25519:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[com.jcraft.jsch.jce.SignatureEd25519].sign()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd25519.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SignatureEd25519].sign()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEd25519:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[com.jcraft.jsch.jce.SignatureEd25519].update(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd25519.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureEd25519].update(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEd25519:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sig
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[com.jcraft.jsch.jce.SignatureEd25519].verify(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd25519.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.SignatureEd25519].verify(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - String
      - boolean
      - javax.crypto.Mac
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.jce.HMAC].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMAC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.HMAC].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.jce.HMAC:52,1
    - Dst: '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.HMAC,String)'
      Src: com.jcraft.jsch.jce.HMAC:55,1
    - Dst: '[javax.crypto.Mac].getInstance(String)'
      Src: com.jcraft.jsch.jce.HMAC:56,1
    - Dst: '[com.jcraft.jsch.jce.HMAC].init(javax.crypto.spec.SecretKeySpec)'
      Src: com.jcraft.jsch.jce.HMAC:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - String
      - boolean
      - javax.crypto.Mac
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.jce.HMAC].init(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMAC.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Mac].getInstance(String)'
    - '[com.jcraft.jsch.jce.HMAC].init(javax.crypto.spec.SecretKeySpec)'
    - System.arraycopy(byte[],int,byte[],int,int)
    - '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.HMAC,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.HMAC].init(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jce.HMAC].update(byte[],int,int)'
      Src: com.jcraft.jsch.jce.HMAC:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - String
      - boolean
      - javax.crypto.Mac
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: '[com.jcraft.jsch.jce.HMAC].update(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMAC.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.HMAC].update(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.HMAC].update(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Mac].update(byte,int,int)'
      Src: com.jcraft.jsch.jce.HMAC:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - String
      - boolean
      - javax.crypto.Mac
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - s
    - l
    argTypes:
    - byte
    - int
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[com.jcraft.jsch.jce.HMAC].update(byte,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMAC.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Mac].update(byte,int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.HMAC].update(byte,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Mac].doFinal(byte[],int)'
      Src: com.jcraft.jsch.jce.HMAC:79,1
    - Dst: '[com.jcraft.jsch.JSch].getLogger()'
      Src: com.jcraft.jsch.jce.HMAC:81,1
    - Dst: '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.jce.HMAC)'
      Src: com.jcraft.jsch.jce.HMAC:81,1
    - Dst: '[com.jcraft.jsch.JSch].getLogger()'
      Src: com.jcraft.jsch.jce.HMAC:82,1
    - Dst: e.getMessage()
      Src: com.jcraft.jsch.jce.HMAC:82,1
    - Dst: '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.jce.HMAC,com.jcraft.jsch.jce.HMAC,com.jcraft.jsch.jce.HMAC)'
      Src: com.jcraft.jsch.jce.HMAC:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - String
      - boolean
      - javax.crypto.Mac
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - offset
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: '[com.jcraft.jsch.jce.HMAC].doFinal(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMAC.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Mac].doFinal(byte[],int)'
    - '[com.jcraft.jsch.Logger].log(com.jcraft.jsch.jce.HMAC,com.jcraft.jsch.jce.HMAC,com.jcraft.jsch.jce.HMAC)'
    - e.getMessage()
    - '[com.jcraft.jsch.Logger].isEnabled(com.jcraft.jsch.jce.HMAC)'
    - '[com.jcraft.jsch.JSch].getLogger()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.HMAC].doFinal(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - String
      - boolean
      - javax.crypto.Mac
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[com.jcraft.jsch.jce.HMAC].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMAC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.HMAC].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - String
      - boolean
      - javax.crypto.Mac
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: '[com.jcraft.jsch.jce.HMAC].isEtM()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMAC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.HMAC].isEtM()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - String
      - boolean
      - javax.crypto.Mac
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMAC
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.HMAC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMAC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMAC
    signature: '[com.jcraft.jsch.jce.HMAC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACSHA256ETM
      static: false
      superClass: com.jcraft.jsch.jce.HMACSHA256
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.HMACSHA256ETM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA256ETM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACSHA256ETM
    signature: '[com.jcraft.jsch.jce.HMACSHA256ETM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACSHA512SSHCOM
      static: false
      superClass: com.jcraft.jsch.jce.HMAC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.jce.HMACSHA512SSHCOM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA512SSHCOM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACSHA512SSHCOM
    signature: '[com.jcraft.jsch.jce.HMACSHA512SSHCOM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jce.AESGCM
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.jce.AES128GCM].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128GCM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AES128GCM].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.AES128GCM
      static: false
      superClass: com.jcraft.jsch.jce.AESGCM
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.AES128GCM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128GCM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.AES128GCM
    signature: '[com.jcraft.jsch.jce.AES128GCM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACSHA196ETM
      static: false
      superClass: com.jcraft.jsch.jce.HMACSHA196
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.jce.HMACSHA196ETM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA196ETM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACSHA196ETM
    signature: '[com.jcraft.jsch.jce.HMACSHA196ETM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.jce.ARCFOUR256].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.ARCFOUR256].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.jce.ARCFOUR256].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.ARCFOUR256].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.ARCFOUR256,int,com.jcraft.jsch.jce.ARCFOUR256)
      Src: com.jcraft.jsch.jce.ARCFOUR256:53,1
    - Dst: '[javax.crypto.Cipher].getInstance(String)'
      Src: com.jcraft.jsch.jce.ARCFOUR256:57,1
    - Dst: '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.ARCFOUR256,String)'
      Src: com.jcraft.jsch.jce.ARCFOUR256:58,1
    - Dst: '[com.jcraft.jsch.jce.ARCFOUR256].init(javax.crypto.spec.SecretKeySpec)'
      Src: com.jcraft.jsch.jce.ARCFOUR256:59,1
    - Dst: '[com.jcraft.jsch.jce.ARCFOUR256].update(com.jcraft.jsch.jce.ARCFOUR256,int,int,com.jcraft.jsch.jce.ARCFOUR256,int)'
      Src: com.jcraft.jsch.jce.ARCFOUR256:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: '[com.jcraft.jsch.jce.ARCFOUR256].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR256.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.ARCFOUR256].init(javax.crypto.spec.SecretKeySpec)'
    - '[com.jcraft.jsch.jce.ARCFOUR256].update(com.jcraft.jsch.jce.ARCFOUR256,int,int,com.jcraft.jsch.jce.ARCFOUR256,int)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.ARCFOUR256,int,com.jcraft.jsch.jce.ARCFOUR256)
    - '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.ARCFOUR256,String)'
    - '[javax.crypto.Cipher].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.ARCFOUR256].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.ARCFOUR256:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[com.jcraft.jsch.jce.ARCFOUR256].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR256.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.ARCFOUR256].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.jce.ARCFOUR256].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.ARCFOUR256].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.ARCFOUR256
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.ARCFOUR256].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.ARCFOUR256
    signature: '[com.jcraft.jsch.jce.ARCFOUR256].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.jce.ARCFOUR128].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR128.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.ARCFOUR128].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.jce.ARCFOUR128].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR128.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.ARCFOUR128].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.ARCFOUR128,int,com.jcraft.jsch.jce.ARCFOUR128)
      Src: com.jcraft.jsch.jce.ARCFOUR128:53,1
    - Dst: '[javax.crypto.Cipher].getInstance(String)'
      Src: com.jcraft.jsch.jce.ARCFOUR128:57,1
    - Dst: '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.ARCFOUR128,String)'
      Src: com.jcraft.jsch.jce.ARCFOUR128:58,1
    - Dst: '[com.jcraft.jsch.jce.ARCFOUR128].init(javax.crypto.spec.SecretKeySpec)'
      Src: com.jcraft.jsch.jce.ARCFOUR128:59,1
    - Dst: '[com.jcraft.jsch.jce.ARCFOUR128].update(com.jcraft.jsch.jce.ARCFOUR128,int,int,com.jcraft.jsch.jce.ARCFOUR128,int)'
      Src: com.jcraft.jsch.jce.ARCFOUR128:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: '[com.jcraft.jsch.jce.ARCFOUR128].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR128.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.ARCFOUR128].update(com.jcraft.jsch.jce.ARCFOUR128,int,int,com.jcraft.jsch.jce.ARCFOUR128,int)'
    - '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.ARCFOUR128,String)'
    - '[com.jcraft.jsch.jce.ARCFOUR128].init(javax.crypto.spec.SecretKeySpec)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.ARCFOUR128,int,com.jcraft.jsch.jce.ARCFOUR128)
    - '[javax.crypto.Cipher].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.ARCFOUR128].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.ARCFOUR128:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[com.jcraft.jsch.jce.ARCFOUR128].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR128.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.ARCFOUR128].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.jce.ARCFOUR128].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR128.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.ARCFOUR128].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.ARCFOUR128
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.ARCFOUR128].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR128.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.ARCFOUR128
    signature: '[com.jcraft.jsch.jce.ARCFOUR128].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.KeyAgreement].getInstance(String)'
      Src: com.jcraft.jsch.jce.ECDHN:49,1
    - Dst: '[com.jcraft.jsch.KeyPairGenECDSA].<init>()'
      Src: com.jcraft.jsch.jce.ECDHN:50,1
    - Dst: '[com.jcraft.jsch.KeyPairGenECDSA].init(int)'
      Src: com.jcraft.jsch.jce.ECDHN:51,1
    - Dst: '[com.jcraft.jsch.KeyPairGenECDSA].getPublicKey()'
      Src: com.jcraft.jsch.jce.ECDHN:52,1
    - Dst: '[com.jcraft.jsch.KeyPairGenECDSA].getR()'
      Src: com.jcraft.jsch.jce.ECDHN:53,1
    - Dst: '[com.jcraft.jsch.KeyPairGenECDSA].getS()'
      Src: com.jcraft.jsch.jce.ECDHN:54,1
    - Dst: '[com.jcraft.jsch.jce.ECDHN].toPoint(byte[],byte[])'
      Src: com.jcraft.jsch.jce.ECDHN:55,1
    - Dst: '[com.jcraft.jsch.KeyPairGenECDSA].getPrivateKey()'
      Src: com.jcraft.jsch.jce.ECDHN:56,1
    - Dst: '[com.jcraft.jsch.jce.ECDHN].init(com.jcraft.jsch.jce.ECDHN)'
      Src: com.jcraft.jsch.jce.ECDHN:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.interfaces.ECPublicKey
      - javax.crypto.KeyAgreement
      - java.math.BigInteger
      - java.math.BigInteger
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.ECDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: '[com.jcraft.jsch.jce.ECDHN].init(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDHN.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.KeyPairGenECDSA].getS()'
    - '[com.jcraft.jsch.KeyPairGenECDSA].init(int)'
    - '[com.jcraft.jsch.jce.ECDHN].init(com.jcraft.jsch.jce.ECDHN)'
    - '[javax.crypto.KeyAgreement].getInstance(String)'
    - '[com.jcraft.jsch.KeyPairGenECDSA].getR()'
    - '[com.jcraft.jsch.jce.ECDHN].toPoint(byte[],byte[])'
    - '[com.jcraft.jsch.KeyPairGenECDSA].getPublicKey()'
    - '[com.jcraft.jsch.KeyPairGenECDSA].<init>()'
    - '[com.jcraft.jsch.KeyPairGenECDSA].getPrivateKey()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.ECDHN].init(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.interfaces.ECPublicKey
      - javax.crypto.KeyAgreement
      - java.math.BigInteger
      - java.math.BigInteger
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.ECDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[com.jcraft.jsch.jce.ECDHN].getQ()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDHN.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.ECDHN].getQ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.KeyFactory].getInstance(String)'
      Src: com.jcraft.jsch.jce.ECDHN:67,1
    - Dst: '[java.math.BigInteger].<init>(int,byte[])'
      Src: com.jcraft.jsch.jce.ECDHN:68,1
    - Dst: '[java.math.BigInteger].<init>(int,byte[])'
      Src: com.jcraft.jsch.jce.ECDHN:68,1
    - Dst: '[java.security.spec.ECPoint].<init>(java.math.BigInteger,java.math.BigInteger)'
      Src: com.jcraft.jsch.jce.ECDHN:68,1
    - Dst: '[java.security.interfaces.ECPublicKey].getParams()'
      Src: com.jcraft.jsch.jce.ECDHN:69,1
    - Dst: '[java.security.spec.ECPublicKeySpec].<init>(java.security.spec.ECPoint,com.jcraft.jsch.jce.ECDHN)'
      Src: com.jcraft.jsch.jce.ECDHN:69,1
    - Dst: '[com.jcraft.jsch.jce.ECDHN].generatePublic(java.security.spec.ECPublicKeySpec)'
      Src: com.jcraft.jsch.jce.ECDHN:70,1
    - Dst: '[javax.crypto.KeyAgreement].doPhase(com.jcraft.jsch.jce.ECDHN,boolean)'
      Src: com.jcraft.jsch.jce.ECDHN:71,1
    - Dst: '[javax.crypto.KeyAgreement].generateSecret()'
      Src: com.jcraft.jsch.jce.ECDHN:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.interfaces.ECPublicKey
      - javax.crypto.KeyAgreement
      - java.math.BigInteger
      - java.math.BigInteger
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.ECDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: '[com.jcraft.jsch.jce.ECDHN].getSecret(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDHN.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.KeyAgreement].generateSecret()'
    - '[java.security.interfaces.ECPublicKey].getParams()'
    - '[java.math.BigInteger].<init>(int,byte[])'
    - '[java.security.KeyFactory].getInstance(String)'
    - '[com.jcraft.jsch.jce.ECDHN].generatePublic(java.security.spec.ECPublicKeySpec)'
    - '[java.security.spec.ECPoint].<init>(java.math.BigInteger,java.math.BigInteger)'
    - '[javax.crypto.KeyAgreement].doPhase(com.jcraft.jsch.jce.ECDHN,boolean)'
    - '[java.security.spec.ECPublicKeySpec].<init>(java.security.spec.ECPoint,com.jcraft.jsch.jce.ECDHN)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.ECDHN].getSecret(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.math.BigInteger].<init>(int,byte[])'
      Src: com.jcraft.jsch.jce.ECDHN:83,1
    - Dst: '[java.math.BigInteger].<init>(int,byte[])'
      Src: com.jcraft.jsch.jce.ECDHN:84,1
    - Dst: '[java.security.spec.ECPoint].<init>(java.math.BigInteger,java.math.BigInteger)'
      Src: com.jcraft.jsch.jce.ECDHN:88,1
    - Dst: '[java.security.spec.ECPoint].equals(com.jcraft.jsch.jce.ECDHN)'
      Src: com.jcraft.jsch.jce.ECDHN:89,1
    - Dst: '[java.security.interfaces.ECPublicKey].getParams()'
      Src: com.jcraft.jsch.jce.ECDHN:99,1
    - Dst: '[com.jcraft.jsch.jce.ECDHN].getCurve()'
      Src: com.jcraft.jsch.jce.ECDHN:100,1
    - Dst: '[com.jcraft.jsch.jce.ECDHN].getField()'
      Src: com.jcraft.jsch.jce.ECDHN:101,1
    - Dst: '[java.security.spec.ECFieldFp].getP()'
      Src: com.jcraft.jsch.jce.ECDHN:101,1
    - Dst: '[com.jcraft.jsch.jce.ECDHN].subtract(com.jcraft.jsch.jce.ECDHN)'
      Src: com.jcraft.jsch.jce.ECDHN:104,1
    - Dst: '[java.math.BigInteger].compareTo(com.jcraft.jsch.jce.ECDHN)'
      Src: com.jcraft.jsch.jce.ECDHN:105,1
    - Dst: '[java.math.BigInteger].compareTo(com.jcraft.jsch.jce.ECDHN)'
      Src: com.jcraft.jsch.jce.ECDHN:105,1
    - Dst: '[com.jcraft.jsch.jce.ECDHN].getA()'
      Src: com.jcraft.jsch.jce.ECDHN:110,1
    - Dst: '[java.math.BigInteger].multiply(com.jcraft.jsch.jce.ECDHN)'
      Src: com.jcraft.jsch.jce.ECDHN:110,1
    - Dst: '[com.jcraft.jsch.jce.ECDHN].getB()'
      Src: com.jcraft.jsch.jce.ECDHN:110,1
    - Dst: '[com.jcraft.jsch.jce.ECDHN].add(com.jcraft.jsch.jce.ECDHN)'
      Src: com.jcraft.jsch.jce.ECDHN:110,1
    - Dst: '[java.math.BigInteger].modPow(java.math.BigInteger,com.jcraft.jsch.jce.ECDHN)'
      Src: com.jcraft.jsch.jce.ECDHN:110,1
    - Dst: '[com.jcraft.jsch.jce.ECDHN].add(com.jcraft.jsch.jce.ECDHN)'
      Src: com.jcraft.jsch.jce.ECDHN:110,1
    - Dst: '[com.jcraft.jsch.jce.ECDHN].mod(com.jcraft.jsch.jce.ECDHN)'
      Src: com.jcraft.jsch.jce.ECDHN:110,1
    - Dst: '[java.math.BigInteger].modPow(java.math.BigInteger,com.jcraft.jsch.jce.ECDHN)'
      Src: com.jcraft.jsch.jce.ECDHN:111,1
    - Dst: '[com.jcraft.jsch.jce.ECDHN].equals(com.jcraft.jsch.jce.ECDHN)'
      Src: com.jcraft.jsch.jce.ECDHN:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.interfaces.ECPublicKey
      - javax.crypto.KeyAgreement
      - java.math.BigInteger
      - java.math.BigInteger
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.ECDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 123
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 123
    functionName: '[com.jcraft.jsch.jce.ECDHN].validate(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDHN.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.ECDHN].add(com.jcraft.jsch.jce.ECDHN)'
    - '[java.math.BigInteger].modPow(java.math.BigInteger,com.jcraft.jsch.jce.ECDHN)'
    - '[com.jcraft.jsch.jce.ECDHN].getA()'
    - '[com.jcraft.jsch.jce.ECDHN].getCurve()'
    - '[com.jcraft.jsch.jce.ECDHN].getB()'
    - '[com.jcraft.jsch.jce.ECDHN].mod(com.jcraft.jsch.jce.ECDHN)'
    - '[java.math.BigInteger].<init>(int,byte[])'
    - '[java.security.spec.ECPoint].equals(com.jcraft.jsch.jce.ECDHN)'
    - '[java.security.spec.ECFieldFp].getP()'
    - '[java.math.BigInteger].compareTo(com.jcraft.jsch.jce.ECDHN)'
    - '[java.math.BigInteger].multiply(com.jcraft.jsch.jce.ECDHN)'
    - '[java.security.spec.ECPoint].<init>(java.math.BigInteger,java.math.BigInteger)'
    - '[com.jcraft.jsch.jce.ECDHN].equals(com.jcraft.jsch.jce.ECDHN)'
    - '[com.jcraft.jsch.jce.ECDHN].getField()'
    - '[com.jcraft.jsch.jce.ECDHN].subtract(com.jcraft.jsch.jce.ECDHN)'
    - '[java.security.interfaces.ECPublicKey].getParams()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.ECDHN].validate(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.ECDHN,int,com.jcraft.jsch.jce.ECDHN)
      Src: com.jcraft.jsch.jce.ECDHN:128,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.ECDHN,int,com.jcraft.jsch.jce.ECDHN)
      Src: com.jcraft.jsch.jce.ECDHN:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.interfaces.ECPublicKey
      - javax.crypto.KeyAgreement
      - java.math.BigInteger
      - java.math.BigInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.ECDH
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - r_array
    - s_array
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: '[com.jcraft.jsch.jce.ECDHN].toPoint(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDHN.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.ECDHN,int,com.jcraft.jsch.jce.ECDHN)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.ECDHN].toPoint(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.ECDHN,int,com.jcraft.jsch.jce.ECDHN)
      Src: com.jcraft.jsch.jce.ECDHN:137,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.jce.ECDHN:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.interfaces.ECPublicKey
      - javax.crypto.KeyAgreement
      - java.math.BigInteger
      - java.math.BigInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.ECDH
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: '[com.jcraft.jsch.jce.ECDHN].insert0(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDHN.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.ECDHN,int,com.jcraft.jsch.jce.ECDHN)
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.ECDHN].insert0(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.ECDHN,int,com.jcraft.jsch.jce.ECDHN)
      Src: com.jcraft.jsch.jce.ECDHN:146,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.jce.ECDHN:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.interfaces.ECPublicKey
      - javax.crypto.KeyAgreement
      - java.math.BigInteger
      - java.math.BigInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.ECDH
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: '[com.jcraft.jsch.jce.ECDHN].chop0(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDHN.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.ECDHN,int,com.jcraft.jsch.jce.ECDHN)
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.ECDHN].chop0(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger.ONE.add(com.jcraft.jsch.jce.ECDHN)
      Src: com.jcraft.jsch.jce.ECDHN:75,1
    - Dst: '[com.jcraft.jsch.jce.ECDHN].add(com.jcraft.jsch.jce.ECDHN)'
      Src: com.jcraft.jsch.jce.ECDHN:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.interfaces.ECPublicKey
      - javax.crypto.KeyAgreement
      - java.math.BigInteger
      - java.math.BigInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.ECDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.ECDHN
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.ECDHN].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDHN.java
    functionUses: 0
    functionsReached:
    - BigInteger.ONE.add(com.jcraft.jsch.jce.ECDHN)
    - '[com.jcraft.jsch.jce.ECDHN].add(com.jcraft.jsch.jce.ECDHN)'
    linkageType: ''
    returnType: com.jcraft.jsch.jce.ECDHN
    signature: '[com.jcraft.jsch.jce.ECDHN].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACMD596ETM
      static: false
      superClass: com.jcraft.jsch.jce.HMACMD596
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.HMACMD596ETM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACMD596ETM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACMD596ETM
    signature: '[com.jcraft.jsch.jce.HMACMD596ETM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jce.TripleDESCTR].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/TripleDESCTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.TripleDESCTR].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.jce.TripleDESCTR].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/TripleDESCTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.TripleDESCTR].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.TripleDESCTR,int,com.jcraft.jsch.jce.TripleDESCTR)
      Src: com.jcraft.jsch.jce.TripleDESCTR:55,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.TripleDESCTR,int,com.jcraft.jsch.jce.TripleDESCTR)
      Src: com.jcraft.jsch.jce.TripleDESCTR:60,1
    - Dst: '[javax.crypto.Cipher].getInstance(String)'
      Src: com.jcraft.jsch.jce.TripleDESCTR:65,1
    - Dst: '[javax.crypto.spec.DESedeKeySpec].<init>(com.jcraft.jsch.jce.TripleDESCTR)'
      Src: com.jcraft.jsch.jce.TripleDESCTR:71,1
    - Dst: '[javax.crypto.SecretKeyFactory].getInstance(String)'
      Src: com.jcraft.jsch.jce.TripleDESCTR:72,1
    - Dst: '[com.jcraft.jsch.jce.TripleDESCTR].generateSecret(javax.crypto.spec.DESedeKeySpec)'
      Src: com.jcraft.jsch.jce.TripleDESCTR:73,1
    - Dst: '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.TripleDESCTR)'
      Src: com.jcraft.jsch.jce.TripleDESCTR:76,1
    - Dst: '[com.jcraft.jsch.jce.TripleDESCTR].init(com.jcraft.jsch.jce.TripleDESCTR,javax.crypto.spec.IvParameterSpec)'
      Src: com.jcraft.jsch.jce.TripleDESCTR:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 81
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.jce.TripleDESCTR].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/TripleDESCTR.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.TripleDESCTR].generateSecret(javax.crypto.spec.DESedeKeySpec)'
    - '[javax.crypto.spec.DESedeKeySpec].<init>(com.jcraft.jsch.jce.TripleDESCTR)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.TripleDESCTR,int,com.jcraft.jsch.jce.TripleDESCTR)
    - '[com.jcraft.jsch.jce.TripleDESCTR].init(com.jcraft.jsch.jce.TripleDESCTR,javax.crypto.spec.IvParameterSpec)'
    - '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.TripleDESCTR)'
    - '[javax.crypto.SecretKeyFactory].getInstance(String)'
    - '[javax.crypto.Cipher].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.TripleDESCTR].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.TripleDESCTR:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.jce.TripleDESCTR].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/TripleDESCTR.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.TripleDESCTR].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[com.jcraft.jsch.jce.TripleDESCTR].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/TripleDESCTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.TripleDESCTR].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.TripleDESCTR
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.TripleDESCTR].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/TripleDESCTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.TripleDESCTR
    signature: '[com.jcraft.jsch.jce.TripleDESCTR].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACSHA196
      static: false
      superClass: com.jcraft.jsch.jce.HMACSHA1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.HMACSHA196].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA196.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACSHA196
    signature: '[com.jcraft.jsch.jce.HMACSHA196].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jce.HMACSHA1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.jce.HMACSHA196].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA196.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.HMACSHA196].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jce.HMACSHA1].doFinal(byte[],int)'
      Src: com.jcraft.jsch.jce.HMACSHA196:44,1
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.jce.HMACSHA196:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.jce.HMACSHA1
    argCount: 2
    argNames:
    - buf
    - offset
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.jce.HMACSHA196].doFinal(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA196.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.HMACSHA1].doFinal(byte[],int)'
    - System.arraycopy(byte[],int,byte[],int,int)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.HMACSHA196].doFinal(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACSHA224SSHCOM
      static: false
      superClass: com.jcraft.jsch.jce.HMAC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.jce.HMACSHA224SSHCOM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA224SSHCOM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACSHA224SSHCOM
    signature: '[com.jcraft.jsch.jce.HMACSHA224SSHCOM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.jce.AES192CTR].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES192CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AES192CTR].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.jce.AES192CTR].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES192CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AES192CTR].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES192CTR,int,com.jcraft.jsch.jce.AES192CTR)
      Src: com.jcraft.jsch.jce.AES192CTR:53,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES192CTR,int,com.jcraft.jsch.jce.AES192CTR)
      Src: com.jcraft.jsch.jce.AES192CTR:58,1
    - Dst: '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.AES192CTR,String)'
      Src: com.jcraft.jsch.jce.AES192CTR:62,1
    - Dst: '[javax.crypto.Cipher].getInstance(String)'
      Src: com.jcraft.jsch.jce.AES192CTR:63,1
    - Dst: '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.AES192CTR)'
      Src: com.jcraft.jsch.jce.AES192CTR:66,1
    - Dst: '[com.jcraft.jsch.jce.AES192CTR].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
      Src: com.jcraft.jsch.jce.AES192CTR:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.jce.AES192CTR].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES192CTR.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.AES192CTR].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
    - '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.AES192CTR,String)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES192CTR,int,com.jcraft.jsch.jce.AES192CTR)
    - '[javax.crypto.Cipher].getInstance(String)'
    - '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.AES192CTR)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AES192CTR].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.AES192CTR:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.jce.AES192CTR].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES192CTR.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AES192CTR].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.jce.AES192CTR].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES192CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.AES192CTR].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.AES192CTR
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.AES192CTR].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES192CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.AES192CTR
    signature: '[com.jcraft.jsch.jce.AES192CTR].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.jce.AES192CBC].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES192CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AES192CBC].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.jce.AES192CBC].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES192CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AES192CBC].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES192CBC,int,com.jcraft.jsch.jce.AES192CBC)
      Src: com.jcraft.jsch.jce.AES192CBC:53,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES192CBC,int,com.jcraft.jsch.jce.AES192CBC)
      Src: com.jcraft.jsch.jce.AES192CBC:58,1
    - Dst: '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.AES192CBC,String)'
      Src: com.jcraft.jsch.jce.AES192CBC:62,1
    - Dst: '[javax.crypto.Cipher].getInstance(String)'
      Src: com.jcraft.jsch.jce.AES192CBC:63,1
    - Dst: '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.AES192CBC)'
      Src: com.jcraft.jsch.jce.AES192CBC:66,1
    - Dst: '[com.jcraft.jsch.jce.AES192CBC].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
      Src: com.jcraft.jsch.jce.AES192CBC:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.jce.AES192CBC].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES192CBC.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.AES192CBC,String)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES192CBC,int,com.jcraft.jsch.jce.AES192CBC)
    - '[com.jcraft.jsch.jce.AES192CBC].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
    - '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.AES192CBC)'
    - '[javax.crypto.Cipher].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AES192CBC].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.AES192CBC:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.jce.AES192CBC].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES192CBC.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AES192CBC].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.jce.AES192CBC].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES192CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.AES192CBC].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.AES192CBC
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.AES192CBC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES192CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.AES192CBC
    signature: '[com.jcraft.jsch.jce.AES192CBC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.jce.AES256CBC].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AES256CBC].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.jce.AES256CBC].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AES256CBC].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES256CBC,int,com.jcraft.jsch.jce.AES256CBC)
      Src: com.jcraft.jsch.jce.AES256CBC:53,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES256CBC,int,com.jcraft.jsch.jce.AES256CBC)
      Src: com.jcraft.jsch.jce.AES256CBC:58,1
    - Dst: '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.AES256CBC,String)'
      Src: com.jcraft.jsch.jce.AES256CBC:62,1
    - Dst: '[javax.crypto.Cipher].getInstance(String)'
      Src: com.jcraft.jsch.jce.AES256CBC:63,1
    - Dst: '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.AES256CBC)'
      Src: com.jcraft.jsch.jce.AES256CBC:66,1
    - Dst: '[com.jcraft.jsch.jce.AES256CBC].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
      Src: com.jcraft.jsch.jce.AES256CBC:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.jce.AES256CBC].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256CBC.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.AES256CBC)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES256CBC,int,com.jcraft.jsch.jce.AES256CBC)
    - '[com.jcraft.jsch.jce.AES256CBC].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
    - '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.AES256CBC,String)'
    - '[javax.crypto.Cipher].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AES256CBC].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.AES256CBC:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.jce.AES256CBC].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256CBC.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AES256CBC].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.jce.AES256CBC].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.AES256CBC].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.AES256CBC
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.AES256CBC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.AES256CBC
    signature: '[com.jcraft.jsch.jce.AES256CBC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.KeyPairGenerator].getInstance(String)'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:48,1
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:49,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenDSA].initialize(int,java.security.SecureRandom)'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:49,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenDSA].generateKeyPair()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:50,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenDSA].getPublic()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:51,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenDSA].getPrivate()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:52,1
    - Dst: '[java.security.interfaces.DSAPrivateKey].getX()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:54,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenDSA].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:54,1
    - Dst: '[java.security.interfaces.DSAPublicKey].getY()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:55,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenDSA].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:55,1
    - Dst: '[java.security.interfaces.DSAKey].getParams()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:57,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenDSA].getP()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:58,1
    - Dst: '[byte[]].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:58,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenDSA].getQ()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:59,1
    - Dst: '[byte[]].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:59,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenDSA].getG()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:60,1
    - Dst: '[byte[]].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenDSA:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KeyPairGenDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: '[com.jcraft.jsch.jce.KeyPairGenDSA].init(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.KeyPairGenDSA].getP()'
    - '[java.security.KeyPairGenerator].getInstance(String)'
    - '[java.security.interfaces.DSAKey].getParams()'
    - '[java.security.SecureRandom].<init>()'
    - '[com.jcraft.jsch.jce.KeyPairGenDSA].toByteArray()'
    - '[com.jcraft.jsch.jce.KeyPairGenDSA].getQ()'
    - '[java.security.interfaces.DSAPrivateKey].getX()'
    - '[com.jcraft.jsch.jce.KeyPairGenDSA].initialize(int,java.security.SecureRandom)'
    - '[byte[]].toByteArray()'
    - '[com.jcraft.jsch.jce.KeyPairGenDSA].generateKeyPair()'
    - '[com.jcraft.jsch.jce.KeyPairGenDSA].getG()'
    - '[java.security.interfaces.DSAPublicKey].getY()'
    - '[com.jcraft.jsch.jce.KeyPairGenDSA].getPrivate()'
    - '[com.jcraft.jsch.jce.KeyPairGenDSA].getPublic()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.KeyPairGenDSA].init(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[com.jcraft.jsch.jce.KeyPairGenDSA].getX()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenDSA].getX()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.jce.KeyPairGenDSA].getY()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenDSA].getY()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.jce.KeyPairGenDSA].getP()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenDSA.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenDSA].getP()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.jce.KeyPairGenDSA].getQ()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenDSA.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenDSA].getQ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.jce.KeyPairGenDSA].getG()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenDSA.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenDSA].getG()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.KeyPairGenDSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.KeyPairGenDSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.KeyPairGenDSA
    signature: '[com.jcraft.jsch.jce.KeyPairGenDSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.Signature].getInstance(String)'
      Src: com.jcraft.jsch.jce.SignatureDSA:46,1
    - Dst: '[java.security.KeyFactory].getInstance(String)'
      Src: com.jcraft.jsch.jce.SignatureDSA:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.jce.SignatureDSA].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureDSA.java
    functionUses: 0
    functionsReached:
    - '[java.security.Signature].getInstance(String)'
    - '[java.security.KeyFactory].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureDSA].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureDSA:52,1
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureDSA:52,1
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureDSA:53,1
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureDSA:53,1
    - Dst: '[java.security.spec.DSAPublicKeySpec].<init>(java.math.BigInteger,java.math.BigInteger,java.math.BigInteger,java.math.BigInteger)'
      Src: com.jcraft.jsch.jce.SignatureDSA:52,1
    - Dst: '[java.security.KeyFactory].generatePublic(java.security.spec.DSAPublicKeySpec)'
      Src: com.jcraft.jsch.jce.SignatureDSA:54,1
    - Dst: '[java.security.Signature].initVerify(com.jcraft.jsch.jce.SignatureDSA)'
      Src: com.jcraft.jsch.jce.SignatureDSA:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - y
    - p
    - q
    - g
    argTypes:
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.jce.SignatureDSA].setPubKey(byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureDSA.java
    functionUses: 0
    functionsReached:
    - '[java.security.Signature].initVerify(com.jcraft.jsch.jce.SignatureDSA)'
    - '[java.security.KeyFactory].generatePublic(java.security.spec.DSAPublicKeySpec)'
    - '[java.math.BigInteger].<init>(byte[])'
    - '[java.security.spec.DSAPublicKeySpec].<init>(java.math.BigInteger,java.math.BigInteger,java.math.BigInteger,java.math.BigInteger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureDSA].setPubKey(byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureDSA:60,1
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureDSA:60,1
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureDSA:61,1
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureDSA:61,1
    - Dst: '[java.security.spec.DSAPrivateKeySpec].<init>(java.math.BigInteger,java.math.BigInteger,java.math.BigInteger,java.math.BigInteger)'
      Src: com.jcraft.jsch.jce.SignatureDSA:60,1
    - Dst: '[java.security.KeyFactory].generatePrivate(java.security.spec.DSAPrivateKeySpec)'
      Src: com.jcraft.jsch.jce.SignatureDSA:62,1
    - Dst: '[java.security.Signature].initSign(com.jcraft.jsch.jce.SignatureDSA)'
      Src: com.jcraft.jsch.jce.SignatureDSA:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - x
    - p
    - q
    - g
    argTypes:
    - byte[]
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: '[com.jcraft.jsch.jce.SignatureDSA].setPrvKey(byte[],byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureDSA.java
    functionUses: 0
    functionsReached:
    - '[java.security.spec.DSAPrivateKeySpec].<init>(java.math.BigInteger,java.math.BigInteger,java.math.BigInteger,java.math.BigInteger)'
    - '[java.security.Signature].initSign(com.jcraft.jsch.jce.SignatureDSA)'
    - '[java.math.BigInteger].<init>(byte[])'
    - '[java.security.KeyFactory].generatePrivate(java.security.spec.DSAPrivateKeySpec)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureDSA].setPrvKey(byte[],byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.Signature].sign()'
      Src: com.jcraft.jsch.jce.SignatureDSA:68,1
    - Dst: System.arraycopy(com.jcraft.jsch.jce.SignatureDSA,com.jcraft.jsch.jce.SignatureDSA,com.jcraft.jsch.jce.SignatureDSA,int,com.jcraft.jsch.jce.SignatureDSA)
      Src: com.jcraft.jsch.jce.SignatureDSA:80,1
    - Dst: System.arraycopy(com.jcraft.jsch.jce.SignatureDSA,com.jcraft.jsch.jce.SignatureDSA,com.jcraft.jsch.jce.SignatureDSA,int,com.jcraft.jsch.jce.SignatureDSA)
      Src: com.jcraft.jsch.jce.SignatureDSA:85,1
    - Dst: System.arraycopy(com.jcraft.jsch.jce.SignatureDSA,com.jcraft.jsch.jce.SignatureDSA)
      Src: com.jcraft.jsch.jce.SignatureDSA:91,1
    - Dst: System.arraycopy(com.jcraft.jsch.jce.SignatureDSA,com.jcraft.jsch.jce.SignatureDSA)
      Src: com.jcraft.jsch.jce.SignatureDSA:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 100
    functionName: '[com.jcraft.jsch.jce.SignatureDSA].sign()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureDSA.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(com.jcraft.jsch.jce.SignatureDSA,com.jcraft.jsch.jce.SignatureDSA)
    - '[java.security.Signature].sign()'
    - System.arraycopy(com.jcraft.jsch.jce.SignatureDSA,com.jcraft.jsch.jce.SignatureDSA,com.jcraft.jsch.jce.SignatureDSA,int,com.jcraft.jsch.jce.SignatureDSA)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SignatureDSA].sign()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.Signature].update(byte[])'
      Src: com.jcraft.jsch.jce.SignatureDSA:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[com.jcraft.jsch.jce.SignatureDSA].update(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureDSA.java
    functionUses: 0
    functionsReached:
    - '[java.security.Signature].update(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureDSA].update(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureDSA:112,1
    - Dst: '[String].<init>(byte[],com.jcraft.jsch.jce.SignatureDSA)'
      Src: com.jcraft.jsch.jce.SignatureDSA:114,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureDSA:114,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.jce.SignatureDSA:115,1
    - Dst: '[com.jcraft.jsch.Buffer].getOffSet()'
      Src: com.jcraft.jsch.jce.SignatureDSA:116,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureDSA,int,int)
      Src: com.jcraft.jsch.jce.SignatureDSA:118,1
    - Dst: System.arraycopy(com.jcraft.jsch.jce.SignatureDSA,int,com.jcraft.jsch.jce.SignatureDSA,int,int)
      Src: com.jcraft.jsch.jce.SignatureDSA:123,1
    - Dst: '[com.jcraft.jsch.jce.SignatureDSA].normalize(com.jcraft.jsch.jce.SignatureDSA)'
      Src: com.jcraft.jsch.jce.SignatureDSA:124,1
    - Dst: System.arraycopy(com.jcraft.jsch.jce.SignatureDSA,int,com.jcraft.jsch.jce.SignatureDSA,int,int)
      Src: com.jcraft.jsch.jce.SignatureDSA:127,1
    - Dst: '[com.jcraft.jsch.jce.SignatureDSA].normalize(com.jcraft.jsch.jce.SignatureDSA)'
      Src: com.jcraft.jsch.jce.SignatureDSA:128,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureDSA,int,com.jcraft.jsch.jce.SignatureDSA)
      Src: com.jcraft.jsch.jce.SignatureDSA:143,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureDSA,com.jcraft.jsch.jce.SignatureDSA,com.jcraft.jsch.jce.SignatureDSA)
      Src: com.jcraft.jsch.jce.SignatureDSA:147,1
    - Dst: '[java.security.Signature].verify(com.jcraft.jsch.jce.SignatureDSA)'
      Src: com.jcraft.jsch.jce.SignatureDSA:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 64
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sig
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 151
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 151
    functionName: '[com.jcraft.jsch.jce.SignatureDSA].verify(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureDSA.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(com.jcraft.jsch.jce.SignatureDSA,int,com.jcraft.jsch.jce.SignatureDSA,int,int)
    - '[com.jcraft.jsch.jce.SignatureDSA].normalize(com.jcraft.jsch.jce.SignatureDSA)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureDSA,com.jcraft.jsch.jce.SignatureDSA,com.jcraft.jsch.jce.SignatureDSA)
    - '[com.jcraft.jsch.Buffer].getOffSet()'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureDSA,int,int)
    - '[String].<init>(byte[],com.jcraft.jsch.jce.SignatureDSA)'
    - '[java.security.Signature].verify(com.jcraft.jsch.jce.SignatureDSA)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureDSA,int,com.jcraft.jsch.jce.SignatureDSA)
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.SignatureDSA].verify(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureDSA,int,com.jcraft.jsch.jce.SignatureDSA)
      Src: com.jcraft.jsch.jce.SignatureDSA:156,1
    - Dst: '[com.jcraft.jsch.jce.SignatureDSA].normalize(com.jcraft.jsch.jce.SignatureDSA)'
      Src: com.jcraft.jsch.jce.SignatureDSA:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - secret
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: '[com.jcraft.jsch.jce.SignatureDSA].normalize(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.SignatureDSA].normalize(com.jcraft.jsch.jce.SignatureDSA)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureDSA,int,com.jcraft.jsch.jce.SignatureDSA)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SignatureDSA].normalize(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureDSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureDSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureDSA
    signature: '[com.jcraft.jsch.jce.SignatureDSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jce.ECDHN].init(int)'
      Src: com.jcraft.jsch.jce.ECDH521:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.jce.ECDHN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.jce.ECDH521].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDH521.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.ECDHN].init(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.ECDH521].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.ECDH521
      static: false
      superClass: com.jcraft.jsch.jce.ECDHN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.ECDH521].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDH521.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.ECDH521
    signature: '[com.jcraft.jsch.jce.ECDH521].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.KeyPairGenerator].getInstance(String)'
      Src: com.jcraft.jsch.jce.DH:52,1
    - Dst: '[javax.crypto.KeyAgreement].getInstance(String)'
      Src: com.jcraft.jsch.jce.DH:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.math.BigInteger
      - java.math.BigInteger
      - java.math.BigInteger
      - byte[]
      - java.math.BigInteger
      - java.security.KeyPairGenerator
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.DH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '[com.jcraft.jsch.jce.DH].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/DH.java
    functionUses: 0
    functionsReached:
    - '[java.security.KeyPairGenerator].getInstance(String)'
    - '[javax.crypto.KeyAgreement].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.DH].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.spec.DHParameterSpec].<init>(java.math.BigInteger,java.math.BigInteger)'
      Src: com.jcraft.jsch.jce.DH:59,1
    - Dst: '[java.security.KeyPairGenerator].initialize(javax.crypto.spec.DHParameterSpec)'
      Src: com.jcraft.jsch.jce.DH:60,1
    - Dst: '[java.security.KeyPairGenerator].generateKeyPair()'
      Src: com.jcraft.jsch.jce.DH:61,1
    - Dst: '[com.jcraft.jsch.jce.DH].getPrivate()'
      Src: com.jcraft.jsch.jce.DH:62,1
    - Dst: '[javax.crypto.KeyAgreement].init(com.jcraft.jsch.jce.DH)'
      Src: com.jcraft.jsch.jce.DH:62,1
    - Dst: '[javax.crypto.interfaces.DHPublicKey].getY()'
      Src: com.jcraft.jsch.jce.DH:63,1
    - Dst: '[com.jcraft.jsch.jce.DH].toByteArray()'
      Src: com.jcraft.jsch.jce.DH:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.math.BigInteger
      - java.math.BigInteger
      - java.math.BigInteger
      - byte[]
      - java.math.BigInteger
      - java.security.KeyPairGenerator
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.DH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: '[com.jcraft.jsch.jce.DH].getE()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/DH.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.spec.DHParameterSpec].<init>(java.math.BigInteger,java.math.BigInteger)'
    - '[com.jcraft.jsch.jce.DH].getPrivate()'
    - '[javax.crypto.interfaces.DHPublicKey].getY()'
    - '[java.security.KeyPairGenerator].generateKeyPair()'
    - '[com.jcraft.jsch.jce.DH].toByteArray()'
    - '[javax.crypto.KeyAgreement].init(com.jcraft.jsch.jce.DH)'
    - '[java.security.KeyPairGenerator].initialize(javax.crypto.spec.DHParameterSpec)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.DH].getE()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.KeyFactory].getInstance(String)'
      Src: com.jcraft.jsch.jce.DH:71,1
    - Dst: '[javax.crypto.spec.DHPublicKeySpec].<init>(java.math.BigInteger,java.math.BigInteger,java.math.BigInteger)'
      Src: com.jcraft.jsch.jce.DH:72,1
    - Dst: '[com.jcraft.jsch.jce.DH].generatePublic(javax.crypto.spec.DHPublicKeySpec)'
      Src: com.jcraft.jsch.jce.DH:73,1
    - Dst: '[javax.crypto.KeyAgreement].doPhase(com.jcraft.jsch.jce.DH,boolean)'
      Src: com.jcraft.jsch.jce.DH:74,1
    - Dst: '[javax.crypto.KeyAgreement].generateSecret()'
      Src: com.jcraft.jsch.jce.DH:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.math.BigInteger
      - java.math.BigInteger
      - java.math.BigInteger
      - byte[]
      - java.math.BigInteger
      - java.security.KeyPairGenerator
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.DH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.jce.DH].getK()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/DH.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.KeyAgreement].doPhase(com.jcraft.jsch.jce.DH,boolean)'
    - '[javax.crypto.spec.DHPublicKeySpec].<init>(java.math.BigInteger,java.math.BigInteger,java.math.BigInteger)'
    - '[java.security.KeyFactory].getInstance(String)'
    - '[javax.crypto.KeyAgreement].generateSecret()'
    - '[com.jcraft.jsch.jce.DH].generatePublic(javax.crypto.spec.DHPublicKeySpec)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.DH].getK()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.math.BigInteger].<init>(int,byte[])'
      Src: com.jcraft.jsch.jce.DH:80,1
    - Dst: '[com.jcraft.jsch.jce.DH].setP(java.math.BigInteger)'
      Src: com.jcraft.jsch.jce.DH:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.math.BigInteger
      - java.math.BigInteger
      - java.math.BigInteger
      - byte[]
      - java.math.BigInteger
      - java.security.KeyPairGenerator
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.DH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - p
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.jce.DH].setP(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/DH.java
    functionUses: 0
    functionsReached:
    - '[java.math.BigInteger].<init>(int,byte[])'
    - '[com.jcraft.jsch.jce.DH].setP(java.math.BigInteger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.DH].setP(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.math.BigInteger].<init>(int,byte[])'
      Src: com.jcraft.jsch.jce.DH:85,1
    - Dst: '[com.jcraft.jsch.jce.DH].setG(java.math.BigInteger)'
      Src: com.jcraft.jsch.jce.DH:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.math.BigInteger
      - java.math.BigInteger
      - java.math.BigInteger
      - byte[]
      - java.math.BigInteger
      - java.security.KeyPairGenerator
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.DH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - g
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.jce.DH].setG(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/DH.java
    functionUses: 0
    functionsReached:
    - '[java.math.BigInteger].<init>(int,byte[])'
    - '[com.jcraft.jsch.jce.DH].setG(java.math.BigInteger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.DH].setG(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.math.BigInteger].<init>(int,byte[])'
      Src: com.jcraft.jsch.jce.DH:90,1
    - Dst: '[com.jcraft.jsch.jce.DH].setF(java.math.BigInteger)'
      Src: com.jcraft.jsch.jce.DH:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.math.BigInteger
      - java.math.BigInteger
      - java.math.BigInteger
      - byte[]
      - java.math.BigInteger
      - java.security.KeyPairGenerator
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.DH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - f
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[com.jcraft.jsch.jce.DH].setF(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/DH.java
    functionUses: 0
    functionsReached:
    - '[java.math.BigInteger].<init>(int,byte[])'
    - '[com.jcraft.jsch.jce.DH].setF(java.math.BigInteger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.DH].setF(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.math.BigInteger
      classConcrete: true
      classEnum: false
      classFields:
      - java.math.BigInteger
      - java.math.BigInteger
      - java.math.BigInteger
      - byte[]
      - java.math.BigInteger
      - java.security.KeyPairGenerator
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.DH
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - p
    argTypes:
    - java.math.BigInteger
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[com.jcraft.jsch.jce.DH].setP(java.math.BigInteger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/DH.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.DH].setP(java.math.BigInteger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.math.BigInteger
      classConcrete: true
      classEnum: false
      classFields:
      - java.math.BigInteger
      - java.math.BigInteger
      - java.math.BigInteger
      - byte[]
      - java.math.BigInteger
      - java.security.KeyPairGenerator
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.DH
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - g
    argTypes:
    - java.math.BigInteger
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '[com.jcraft.jsch.jce.DH].setG(java.math.BigInteger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/DH.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.DH].setG(java.math.BigInteger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.math.BigInteger
      classConcrete: true
      classEnum: false
      classFields:
      - java.math.BigInteger
      - java.math.BigInteger
      - java.math.BigInteger
      - byte[]
      - java.math.BigInteger
      - java.security.KeyPairGenerator
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.DH
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - f
    argTypes:
    - java.math.BigInteger
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: '[com.jcraft.jsch.jce.DH].setF(java.math.BigInteger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/DH.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.DH].setF(java.math.BigInteger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.math.BigInteger
      - java.math.BigInteger
      - java.math.BigInteger
      - byte[]
      - java.math.BigInteger
      - java.security.KeyPairGenerator
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.DH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: '[com.jcraft.jsch.jce.DH].checkRange()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/DH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.DH].checkRange()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.math.BigInteger].subtract(com.jcraft.jsch.jce.DH)'
      Src: com.jcraft.jsch.jce.DH:115,1
    - Dst: one.compareTo(java.math.BigInteger)
      Src: com.jcraft.jsch.jce.DH:117,1
    - Dst: '[java.math.BigInteger].compareTo(com.jcraft.jsch.jce.DH)'
      Src: com.jcraft.jsch.jce.DH:117,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.jce.DH:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.math.BigInteger
      classConcrete: true
      classEnum: false
      classFields:
      - java.math.BigInteger
      - java.math.BigInteger
      - java.math.BigInteger
      - byte[]
      - java.math.BigInteger
      - java.security.KeyPairGenerator
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.DH
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - tmp
    argTypes:
    - java.math.BigInteger
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: '[com.jcraft.jsch.jce.DH].checkRange(java.math.BigInteger)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/DH.java
    functionUses: 0
    functionsReached:
    - '[java.math.BigInteger].subtract(com.jcraft.jsch.jce.DH)'
    - one.compareTo(java.math.BigInteger)
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[java.math.BigInteger].compareTo(com.jcraft.jsch.jce.DH)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.DH].checkRange(java.math.BigInteger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.math.BigInteger
      - java.math.BigInteger
      - java.math.BigInteger
      - byte[]
      - java.math.BigInteger
      - java.security.KeyPairGenerator
      - javax.crypto.KeyAgreement
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.DH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.DH
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.DH].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/DH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.DH
    signature: '[com.jcraft.jsch.jce.DH].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACSHA384SSHCOM
      static: false
      superClass: com.jcraft.jsch.jce.HMAC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.jce.HMACSHA384SSHCOM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA384SSHCOM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACSHA384SSHCOM
    signature: '[com.jcraft.jsch.jce.HMACSHA384SSHCOM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.jce.SHA1].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA1.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.SHA1].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: com.jcraft.jsch.jce.SHA1:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jce.SHA1].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA1.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SHA1].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].update(byte[],int,int)'
      Src: com.jcraft.jsch.jce.SHA1:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.jce.SHA1].update(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA1.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].update(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SHA1].update(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].digest()'
      Src: com.jcraft.jsch.jce.SHA1:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.jce.SHA1].digest()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA1.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].digest()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SHA1].digest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.jce.SHA1].name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA1.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SHA1].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SHA1
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SHA1].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA1.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SHA1
    signature: '[com.jcraft.jsch.jce.SHA1].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACSHA256SSHCOM
      static: false
      superClass: com.jcraft.jsch.jce.HMAC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.jce.HMACSHA256SSHCOM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA256SSHCOM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACSHA256SSHCOM
    signature: '[com.jcraft.jsch.jce.HMACSHA256SSHCOM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jce.HMAC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.jce.HMACSHA256SSHCOM].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA256SSHCOM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.HMACSHA256SSHCOM].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACSHA512
      static: false
      superClass: com.jcraft.jsch.jce.HMAC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.jce.HMACSHA512].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA512.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACSHA512
    signature: '[com.jcraft.jsch.jce.HMACSHA512].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureRSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.SignatureRSASHA224SSHCOM].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA224SSHCOM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureRSASHA224SSHCOM].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureRSASHA224SSHCOM
      static: false
      superClass: com.jcraft.jsch.jce.SignatureRSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureRSASHA224SSHCOM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA224SSHCOM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureRSASHA224SSHCOM
    signature: '[com.jcraft.jsch.jce.SignatureRSASHA224SSHCOM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.KeyPairGenEdDSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.jce.KeyPairGenEdDSA
    signature: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KeyPairGenEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - keylen
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].init(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].init(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPrv()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPrv()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.KeyPairGenEdDSA:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPub()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPub()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACSHA2562SSHCOM
      static: false
      superClass: com.jcraft.jsch.jce.HMAC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.jce.HMACSHA2562SSHCOM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA2562SSHCOM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACSHA2562SSHCOM
    signature: '[com.jcraft.jsch.jce.HMACSHA2562SSHCOM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.jce.AES128CTR].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AES128CTR].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.jce.AES128CTR].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AES128CTR].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES128CTR,int,com.jcraft.jsch.jce.AES128CTR)
      Src: com.jcraft.jsch.jce.AES128CTR:53,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES128CTR,int,com.jcraft.jsch.jce.AES128CTR)
      Src: com.jcraft.jsch.jce.AES128CTR:58,1
    - Dst: '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.AES128CTR,String)'
      Src: com.jcraft.jsch.jce.AES128CTR:63,1
    - Dst: '[javax.crypto.Cipher].getInstance(String)'
      Src: com.jcraft.jsch.jce.AES128CTR:64,1
    - Dst: '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.AES128CTR)'
      Src: com.jcraft.jsch.jce.AES128CTR:67,1
    - Dst: '[com.jcraft.jsch.jce.AES128CTR].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
      Src: com.jcraft.jsch.jce.AES128CTR:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 72
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 72
    functionName: '[com.jcraft.jsch.jce.AES128CTR].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128CTR.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.AES128CTR].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.AES128CTR,int,com.jcraft.jsch.jce.AES128CTR)
    - '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.AES128CTR)'
    - '[javax.crypto.Cipher].getInstance(String)'
    - '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.AES128CTR,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AES128CTR].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.AES128CTR:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[com.jcraft.jsch.jce.AES128CTR].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128CTR.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AES128CTR].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[com.jcraft.jsch.jce.AES128CTR].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.AES128CTR].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.AES128CTR
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.AES128CTR].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.AES128CTR
    signature: '[com.jcraft.jsch.jce.AES128CTR].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: false
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureECDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.jce.SignatureECDSAN].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSAN.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureECDSAN].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jce.SignatureECDSAN].getName()'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:52,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:54,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:56,1
    - Dst: '[java.security.Signature].getInstance(com.jcraft.jsch.jce.SignatureECDSAN)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:58,1
    - Dst: '[java.security.KeyFactory].getInstance(String)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureECDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: '[com.jcraft.jsch.jce.SignatureECDSAN].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSAN.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    - '[java.security.Signature].getInstance(com.jcraft.jsch.jce.SignatureECDSAN)'
    - '[java.security.KeyFactory].getInstance(String)'
    - '[com.jcraft.jsch.jce.SignatureECDSAN].getName()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureECDSAN].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jce.SignatureECDSAN].insert0(byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:66,1
    - Dst: '[com.jcraft.jsch.jce.SignatureECDSAN].insert0(byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:67,1
    - Dst: '[java.security.AlgorithmParameters].getInstance(String)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:75,1
    - Dst: '[java.security.spec.ECGenParameterSpec].<init>(com.jcraft.jsch.jce.SignatureECDSAN)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:76,1
    - Dst: '[com.jcraft.jsch.jce.SignatureECDSAN].init(java.security.spec.ECGenParameterSpec)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:76,1
    - Dst: '[com.jcraft.jsch.jce.SignatureECDSAN].getParameterSpec()'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:77,1
    - Dst: '[java.math.BigInteger].<init>(int,byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:78,1
    - Dst: '[java.math.BigInteger].<init>(int,byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:78,1
    - Dst: '[java.security.spec.ECPoint].<init>(java.math.BigInteger,java.math.BigInteger)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:78,1
    - Dst: '[java.security.spec.ECPublicKeySpec].<init>(java.security.spec.ECPoint,com.jcraft.jsch.jce.SignatureECDSAN)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:79,1
    - Dst: '[java.security.KeyFactory].generatePublic(java.security.spec.ECPublicKeySpec)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:79,1
    - Dst: '[java.security.Signature].initVerify(com.jcraft.jsch.jce.SignatureECDSAN)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureECDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.jce.SignatureECDSAN].setPubKey(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSAN.java
    functionUses: 0
    functionsReached:
    - '[java.security.spec.ECGenParameterSpec].<init>(com.jcraft.jsch.jce.SignatureECDSAN)'
    - '[java.security.spec.ECPublicKeySpec].<init>(java.security.spec.ECPoint,com.jcraft.jsch.jce.SignatureECDSAN)'
    - '[com.jcraft.jsch.jce.SignatureECDSAN].init(java.security.spec.ECGenParameterSpec)'
    - '[com.jcraft.jsch.jce.SignatureECDSAN].insert0(byte[])'
    - '[java.security.AlgorithmParameters].getInstance(String)'
    - '[com.jcraft.jsch.jce.SignatureECDSAN].getParameterSpec()'
    - '[java.math.BigInteger].<init>(int,byte[])'
    - '[java.security.spec.ECPoint].<init>(java.math.BigInteger,java.math.BigInteger)'
    - '[java.security.Signature].initVerify(com.jcraft.jsch.jce.SignatureECDSAN)'
    - '[java.security.KeyFactory].generatePublic(java.security.spec.ECPublicKeySpec)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureECDSAN].setPubKey(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jce.SignatureECDSAN].insert0(byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:87,1
    - Dst: '[java.security.AlgorithmParameters].getInstance(String)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:95,1
    - Dst: '[java.security.spec.ECGenParameterSpec].<init>(com.jcraft.jsch.jce.SignatureECDSAN)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:96,1
    - Dst: '[com.jcraft.jsch.jce.SignatureECDSAN].init(java.security.spec.ECGenParameterSpec)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:96,1
    - Dst: '[com.jcraft.jsch.jce.SignatureECDSAN].getParameterSpec()'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:97,1
    - Dst: '[java.math.BigInteger].<init>(int,byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:98,1
    - Dst: '[java.security.spec.ECPrivateKeySpec].<init>(java.math.BigInteger,com.jcraft.jsch.jce.SignatureECDSAN)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:99,1
    - Dst: '[java.security.KeyFactory].generatePrivate(java.security.spec.ECPrivateKeySpec)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:99,1
    - Dst: '[java.security.Signature].initSign(com.jcraft.jsch.jce.SignatureECDSAN)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureECDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - d
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: '[com.jcraft.jsch.jce.SignatureECDSAN].setPrvKey(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSAN.java
    functionUses: 0
    functionsReached:
    - '[java.security.spec.ECGenParameterSpec].<init>(com.jcraft.jsch.jce.SignatureECDSAN)'
    - '[java.security.KeyFactory].generatePrivate(java.security.spec.ECPrivateKeySpec)'
    - '[com.jcraft.jsch.jce.SignatureECDSAN].init(java.security.spec.ECGenParameterSpec)'
    - '[com.jcraft.jsch.jce.SignatureECDSAN].insert0(byte[])'
    - '[java.security.AlgorithmParameters].getInstance(String)'
    - '[com.jcraft.jsch.jce.SignatureECDSAN].getParameterSpec()'
    - '[java.math.BigInteger].<init>(int,byte[])'
    - '[java.security.Signature].initSign(com.jcraft.jsch.jce.SignatureECDSAN)'
    - '[java.security.spec.ECPrivateKeySpec].<init>(java.math.BigInteger,com.jcraft.jsch.jce.SignatureECDSAN)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureECDSAN].setPrvKey(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.Signature].sign()'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:105,1
    - Dst: System.arraycopy(com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN)
      Src: com.jcraft.jsch.jce.SignatureECDSAN:119,1
    - Dst: System.arraycopy(com.jcraft.jsch.jce.SignatureECDSAN,com.jcraft.jsch.jce.SignatureECDSAN,com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN)
      Src: com.jcraft.jsch.jce.SignatureECDSAN:120,1
    - Dst: '[com.jcraft.jsch.jce.SignatureECDSAN].chop0(com.jcraft.jsch.jce.SignatureECDSAN)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:122,1
    - Dst: '[com.jcraft.jsch.jce.SignatureECDSAN].chop0(com.jcraft.jsch.jce.SignatureECDSAN)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:123,1
    - Dst: '[com.jcraft.jsch.Buffer].<init>()'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:125,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:126,1
    - Dst: '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:127,1
    - Dst: '[com.jcraft.jsch.Buffer].getLength()'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:129,1
    - Dst: '[com.jcraft.jsch.Buffer].setOffSet(int)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:130,1
    - Dst: '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.jce.SignatureECDSAN)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureECDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 135
    functionName: '[com.jcraft.jsch.jce.SignatureECDSAN].sign()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSAN.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].<init>()'
    - '[com.jcraft.jsch.Buffer].getLength()'
    - System.arraycopy(com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN)
    - '[com.jcraft.jsch.Buffer].getByte(com.jcraft.jsch.jce.SignatureECDSAN)'
    - System.arraycopy(com.jcraft.jsch.jce.SignatureECDSAN,com.jcraft.jsch.jce.SignatureECDSAN,com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN)
    - '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
    - '[java.security.Signature].sign()'
    - '[com.jcraft.jsch.Buffer].setOffSet(int)'
    - '[com.jcraft.jsch.jce.SignatureECDSAN].chop0(com.jcraft.jsch.jce.SignatureECDSAN)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SignatureECDSAN].sign()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.Signature].update(byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureECDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: '[com.jcraft.jsch.jce.SignatureECDSAN].update(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSAN.java
    functionUses: 0
    functionsReached:
    - '[java.security.Signature].update(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureECDSAN].update(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:150,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:152,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:153,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:155,1
    - Dst: '[com.jcraft.jsch.Buffer].getMPInt()'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:156,1
    - Dst: '[com.jcraft.jsch.jce.SignatureECDSAN].insert0(byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:158,1
    - Dst: '[com.jcraft.jsch.jce.SignatureECDSAN].trimLeadingZeros(byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:158,1
    - Dst: '[com.jcraft.jsch.jce.SignatureECDSAN].insert0(byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:159,1
    - Dst: '[com.jcraft.jsch.jce.SignatureECDSAN].trimLeadingZeros(byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:159,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN)
      Src: com.jcraft.jsch.jce.SignatureECDSAN:168,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureECDSAN,com.jcraft.jsch.jce.SignatureECDSAN)
      Src: com.jcraft.jsch.jce.SignatureECDSAN:171,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN)
      Src: com.jcraft.jsch.jce.SignatureECDSAN:179,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureECDSAN,com.jcraft.jsch.jce.SignatureECDSAN)
      Src: com.jcraft.jsch.jce.SignatureECDSAN:182,1
    - Dst: '[java.security.Signature].verify(com.jcraft.jsch.jce.SignatureECDSAN)'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 75
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureECDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sig
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 188
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 188
    functionName: '[com.jcraft.jsch.jce.SignatureECDSAN].verify(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSAN.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getMPInt()'
    - '[com.jcraft.jsch.jce.SignatureECDSAN].insert0(byte[])'
    - '[java.security.Signature].verify(com.jcraft.jsch.jce.SignatureECDSAN)'
    - '[com.jcraft.jsch.jce.SignatureECDSAN].trimLeadingZeros(byte[])'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureECDSAN,com.jcraft.jsch.jce.SignatureECDSAN)
    - '[com.jcraft.jsch.Buffer].getString()'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN)
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.SignatureECDSAN].verify(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN)
      Src: com.jcraft.jsch.jce.SignatureECDSAN:194,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureECDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: '[com.jcraft.jsch.jce.SignatureECDSAN].insert0(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSAN.java
    functionUses: 3
    functionsReached:
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SignatureECDSAN].insert0(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN)
      Src: com.jcraft.jsch.jce.SignatureECDSAN:203,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureECDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: '[com.jcraft.jsch.jce.SignatureECDSAN].chop0(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSAN.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SignatureECDSAN].chop0(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.jce.SignatureECDSAN,com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN)
      Src: com.jcraft.jsch.jce.SignatureECDSAN:224,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.jce.SignatureECDSAN:225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureECDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 227
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 227
    functionName: '[com.jcraft.jsch.jce.SignatureECDSAN].trimLeadingZeros(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSAN.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(byte[],com.jcraft.jsch.jce.SignatureECDSAN,com.jcraft.jsch.jce.SignatureECDSAN,int,com.jcraft.jsch.jce.SignatureECDSAN)
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SignatureECDSAN].trimLeadingZeros(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureECDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureECDSAN
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureECDSAN].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSAN.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureECDSAN
    signature: '[com.jcraft.jsch.jce.SignatureECDSAN].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACSHA1ETM
      static: false
      superClass: com.jcraft.jsch.jce.HMACSHA1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.HMACSHA1ETM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA1ETM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACSHA1ETM
    signature: '[com.jcraft.jsch.jce.HMACSHA1ETM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureRSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.SignatureRSASHA384SSHCOM].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA384SSHCOM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureRSASHA384SSHCOM].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureRSASHA384SSHCOM
      static: false
      superClass: com.jcraft.jsch.jce.SignatureRSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureRSASHA384SSHCOM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA384SSHCOM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureRSASHA384SSHCOM
    signature: '[com.jcraft.jsch.jce.SignatureRSASHA384SSHCOM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.jce.Util].bzero(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/Util.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.Util].bzero(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.Util
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.Util].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/Util.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.Util
    signature: '[com.jcraft.jsch.jce.Util].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.jce.ARCFOUR].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.ARCFOUR].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.jce.ARCFOUR].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.ARCFOUR].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.ARCFOUR,int,com.jcraft.jsch.jce.ARCFOUR)
      Src: com.jcraft.jsch.jce.ARCFOUR:52,1
    - Dst: '[javax.crypto.Cipher].getInstance(String)'
      Src: com.jcraft.jsch.jce.ARCFOUR:57,1
    - Dst: '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.ARCFOUR,String)'
      Src: com.jcraft.jsch.jce.ARCFOUR:58,1
    - Dst: '[com.jcraft.jsch.jce.ARCFOUR].init(javax.crypto.spec.SecretKeySpec)'
      Src: com.jcraft.jsch.jce.ARCFOUR:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: '[com.jcraft.jsch.jce.ARCFOUR].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.ARCFOUR,String)'
    - '[com.jcraft.jsch.jce.ARCFOUR].init(javax.crypto.spec.SecretKeySpec)'
    - '[javax.crypto.Cipher].getInstance(String)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.ARCFOUR,int,com.jcraft.jsch.jce.ARCFOUR)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.ARCFOUR].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.ARCFOUR:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[com.jcraft.jsch.jce.ARCFOUR].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.ARCFOUR].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[com.jcraft.jsch.jce.ARCFOUR].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.ARCFOUR].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.ARCFOUR
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.ARCFOUR].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.ARCFOUR
    signature: '[com.jcraft.jsch.jce.ARCFOUR].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACSHA256
      static: false
      superClass: com.jcraft.jsch.jce.HMAC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.jce.HMACSHA256].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA256.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACSHA256
    signature: '[com.jcraft.jsch.jce.HMACSHA256].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.XDH:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.XDH
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.XDH].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/XDH.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.jce.XDH
    signature: '[com.jcraft.jsch.jce.XDH].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.XDH:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - keylen
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.jce.XDH].init(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/XDH.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.XDH].init(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.XDH:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jce.XDH].getQ()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/XDH.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.XDH].getQ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.XDH:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - Q
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.jce.XDH].getSecret(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/XDH.java
    functionUses: 1
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.XDH].getSecret(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.XDH:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - u
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.jce.XDH].validate(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/XDH.java
    functionUses: 1
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.XDH].validate(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.jce.SHA256].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.SHA256].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: com.jcraft.jsch.jce.SHA256:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jce.SHA256].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA256.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SHA256].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].update(byte[],int,int)'
      Src: com.jcraft.jsch.jce.SHA256:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.jce.SHA256].update(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA256.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].update(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SHA256].update(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].digest()'
      Src: com.jcraft.jsch.jce.SHA256:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.jce.SHA256].digest()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA256.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].digest()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SHA256].digest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.jce.SHA256].name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SHA256].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SHA256
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SHA256].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SHA256
    signature: '[com.jcraft.jsch.jce.SHA256].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureECDSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.SignatureECDSA384].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSA384.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureECDSA384].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureECDSA384
      static: false
      superClass: com.jcraft.jsch.jce.SignatureECDSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureECDSA384].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSA384.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureECDSA384
    signature: '[com.jcraft.jsch.jce.SignatureECDSA384].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.jce.SHA224].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA224.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.SHA224].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: com.jcraft.jsch.jce.SHA224:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jce.SHA224].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA224.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SHA224].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].update(byte[],int,int)'
      Src: com.jcraft.jsch.jce.SHA224:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.jce.SHA224].update(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA224.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].update(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SHA224].update(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].digest()'
      Src: com.jcraft.jsch.jce.SHA224:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.jce.SHA224].digest()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA224.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].digest()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SHA224].digest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.jce.SHA224].name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA224.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SHA224].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SHA224
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SHA224].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA224.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SHA224
    signature: '[com.jcraft.jsch.jce.SHA224].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureRSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.SignatureRSASHA512SSHCOM].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA512SSHCOM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureRSASHA512SSHCOM].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureRSASHA512SSHCOM
      static: false
      superClass: com.jcraft.jsch.jce.SignatureRSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureRSASHA512SSHCOM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA512SSHCOM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureRSASHA512SSHCOM
    signature: '[com.jcraft.jsch.jce.SignatureRSASHA512SSHCOM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.jce.MD5].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/MD5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.MD5].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: com.jcraft.jsch.jce.MD5:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jce.MD5].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/MD5.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.MD5].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].update(byte[],int,int)'
      Src: com.jcraft.jsch.jce.MD5:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.jce.MD5].update(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/MD5.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].update(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.MD5].update(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].digest()'
      Src: com.jcraft.jsch.jce.MD5:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.jce.MD5].digest()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/MD5.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].digest()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.MD5].digest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.jce.MD5].name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/MD5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.MD5].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.MD5
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.MD5].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/MD5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.MD5
    signature: '[com.jcraft.jsch.jce.MD5].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: false
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureRSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.jce.SignatureRSAN].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSAN.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureRSAN].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jce.SignatureRSAN].getName()'
      Src: com.jcraft.jsch.jce.SignatureRSAN:49,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:51,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:51,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:53,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:53,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:55,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:57,1
    - Dst: '[java.security.Signature].getInstance(com.jcraft.jsch.jce.SignatureRSAN)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:59,1
    - Dst: '[java.security.KeyFactory].getInstance(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: '[com.jcraft.jsch.jce.SignatureRSAN].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSAN.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    - '[java.security.KeyFactory].getInstance(String)'
    - '[java.security.Signature].getInstance(com.jcraft.jsch.jce.SignatureRSAN)'
    - '[com.jcraft.jsch.jce.SignatureRSAN].getName()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureRSAN].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureRSAN:65,1
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureRSAN:65,1
    - Dst: '[java.security.spec.RSAPublicKeySpec].<init>(java.math.BigInteger,java.math.BigInteger)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:65,1
    - Dst: '[java.security.KeyFactory].generatePublic(java.security.spec.RSAPublicKeySpec)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:66,1
    - Dst: '[java.security.Signature].initVerify(com.jcraft.jsch.jce.SignatureRSAN)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - e
    - n
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: '[com.jcraft.jsch.jce.SignatureRSAN].setPubKey(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSAN.java
    functionUses: 0
    functionsReached:
    - '[java.security.Signature].initVerify(com.jcraft.jsch.jce.SignatureRSAN)'
    - '[java.math.BigInteger].<init>(byte[])'
    - '[java.security.KeyFactory].generatePublic(java.security.spec.RSAPublicKeySpec)'
    - '[java.security.spec.RSAPublicKeySpec].<init>(java.math.BigInteger,java.math.BigInteger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureRSAN].setPubKey(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureRSAN:72,1
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureRSAN:72,1
    - Dst: '[java.security.spec.RSAPrivateKeySpec].<init>(java.math.BigInteger,java.math.BigInteger)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:72,1
    - Dst: '[java.security.KeyFactory].generatePrivate(java.security.spec.RSAPrivateKeySpec)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:73,1
    - Dst: '[java.security.Signature].initSign(com.jcraft.jsch.jce.SignatureRSAN)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - d
    - n
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: '[com.jcraft.jsch.jce.SignatureRSAN].setPrvKey(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSAN.java
    functionUses: 0
    functionsReached:
    - '[java.security.Signature].initSign(com.jcraft.jsch.jce.SignatureRSAN)'
    - '[java.math.BigInteger].<init>(byte[])'
    - '[java.security.KeyFactory].generatePrivate(java.security.spec.RSAPrivateKeySpec)'
    - '[java.security.spec.RSAPrivateKeySpec].<init>(java.math.BigInteger,java.math.BigInteger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureRSAN].setPrvKey(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.Signature].sign()'
      Src: com.jcraft.jsch.jce.SignatureRSAN:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.jce.SignatureRSAN].sign()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSAN.java
    functionUses: 0
    functionsReached:
    - '[java.security.Signature].sign()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SignatureRSAN].sign()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.Signature].update(byte[])'
      Src: com.jcraft.jsch.jce.SignatureRSAN:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.jce.SignatureRSAN].update(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSAN.java
    functionUses: 0
    functionsReached:
    - '[java.security.Signature].update(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureRSAN].update(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.jce.SignatureRSAN:93,1
    - Dst: '[String].<init>(byte[],com.jcraft.jsch.jce.SignatureRSAN)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:95,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:96,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:96,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:96,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:97,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:97,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:98,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:98,1
    - Dst: '[com.jcraft.jsch.jce.SignatureRSAN].getName()'
      Src: com.jcraft.jsch.jce.SignatureRSAN:99,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:99,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.jce.SignatureRSAN:101,1
    - Dst: '[com.jcraft.jsch.Buffer].getOffSet()'
      Src: com.jcraft.jsch.jce.SignatureRSAN:102,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureRSAN,int,int)
      Src: com.jcraft.jsch.jce.SignatureRSAN:104,1
    - Dst: '[java.security.Signature].verify(com.jcraft.jsch.jce.SignatureRSAN)'
      Src: com.jcraft.jsch.jce.SignatureRSAN:108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sig
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 109
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 109
    functionName: '[com.jcraft.jsch.jce.SignatureRSAN].verify(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSAN.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.SignatureRSAN,int,int)
    - '[com.jcraft.jsch.jce.SignatureRSAN].getName()'
    - '[String].<init>(byte[],com.jcraft.jsch.jce.SignatureRSAN)'
    - '[com.jcraft.jsch.Buffer].getOffSet()'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[java.security.Signature].verify(com.jcraft.jsch.jce.SignatureRSAN)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.SignatureRSAN].verify(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.security.Signature
      - java.security.KeyFactory
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureRSAN
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureRSAN].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSAN.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureRSAN
    signature: '[com.jcraft.jsch.jce.SignatureRSAN].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureECDSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.SignatureECDSA256].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSA256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureECDSA256].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureECDSA256
      static: false
      superClass: com.jcraft.jsch.jce.SignatureECDSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureECDSA256].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSA256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureECDSA256
    signature: '[com.jcraft.jsch.jce.SignatureECDSA256].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      - javax.crypto.spec.SecretKeySpec
      - int
      - java.nio.ByteBuffer
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[com.jcraft.jsch.jce.AESGCM].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AESGCM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AESGCM].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      - javax.crypto.spec.SecretKeySpec
      - int
      - java.nio.ByteBuffer
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[com.jcraft.jsch.jce.AESGCM].getTagSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AESGCM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.AESGCM].getTagSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.AESGCM,int,com.jcraft.jsch.jce.AESGCM)
      Src: com.jcraft.jsch.jce.AESGCM:59,1
    - Dst: '[com.jcraft.jsch.jce.AESGCM].getBlockSize()'
      Src: com.jcraft.jsch.jce.AESGCM:62,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.AESGCM,int,com.jcraft.jsch.jce.AESGCM)
      Src: com.jcraft.jsch.jce.AESGCM:65,1
    - Dst: '[java.nio.ByteBuffer].wrap(java.nio.ByteBuffer)'
      Src: com.jcraft.jsch.jce.AESGCM:70,1
    - Dst: '[java.nio.ByteBuffer].getLong(int)'
      Src: com.jcraft.jsch.jce.AESGCM:71,1
    - Dst: '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.AESGCM,String)'
      Src: com.jcraft.jsch.jce.AESGCM:73,1
    - Dst: '[javax.crypto.Cipher].getInstance(String)'
      Src: com.jcraft.jsch.jce.AESGCM:74,1
    - Dst: '[javax.crypto.spec.GCMParameterSpec].<init>(int,java.nio.ByteBuffer)'
      Src: com.jcraft.jsch.jce.AESGCM:75,1
    - Dst: '[com.jcraft.jsch.jce.AESGCM].init(int,javax.crypto.spec.SecretKeySpec,javax.crypto.spec.GCMParameterSpec)'
      Src: com.jcraft.jsch.jce.AESGCM:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      - javax.crypto.spec.SecretKeySpec
      - int
      - java.nio.ByteBuffer
      - long
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 82
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 82
    functionName: '[com.jcraft.jsch.jce.AESGCM].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AESGCM.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.AESGCM,String)'
    - '[java.nio.ByteBuffer].getLong(int)'
    - '[com.jcraft.jsch.jce.AESGCM].init(int,javax.crypto.spec.SecretKeySpec,javax.crypto.spec.GCMParameterSpec)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.AESGCM,int,com.jcraft.jsch.jce.AESGCM)
    - '[java.nio.ByteBuffer].wrap(java.nio.ByteBuffer)'
    - '[com.jcraft.jsch.jce.AESGCM].getBlockSize()'
    - '[javax.crypto.spec.GCMParameterSpec].<init>(int,java.nio.ByteBuffer)'
    - '[javax.crypto.Cipher].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AESGCM].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.AESGCM:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      - javax.crypto.spec.SecretKeySpec
      - int
      - java.nio.ByteBuffer
      - long
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[com.jcraft.jsch.jce.AESGCM].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AESGCM.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AESGCM].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].updateAAD(byte[],int,int)'
      Src: com.jcraft.jsch.jce.AESGCM:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      - javax.crypto.spec.SecretKeySpec
      - int
      - java.nio.ByteBuffer
      - long
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - s1
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: '[com.jcraft.jsch.jce.AESGCM].updateAAD(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AESGCM.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].updateAAD(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AESGCM].updateAAD(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].doFinal(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.AESGCM:96,1
    - Dst: '[java.nio.ByteBuffer].getLong(int)'
      Src: com.jcraft.jsch.jce.AESGCM:97,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: com.jcraft.jsch.jce.AESGCM:99,1
    - Dst: '[java.nio.ByteBuffer].putLong(int,com.jcraft.jsch.jce.AESGCM)'
      Src: com.jcraft.jsch.jce.AESGCM:101,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: com.jcraft.jsch.jce.AESGCM:102,1
    - Dst: '[javax.crypto.spec.GCMParameterSpec].<init>(int,com.jcraft.jsch.jce.AESGCM)'
      Src: com.jcraft.jsch.jce.AESGCM:102,1
    - Dst: '[javax.crypto.Cipher].init(int,javax.crypto.spec.SecretKeySpec,javax.crypto.spec.GCMParameterSpec)'
      Src: com.jcraft.jsch.jce.AESGCM:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      - javax.crypto.spec.SecretKeySpec
      - int
      - java.nio.ByteBuffer
      - long
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: '[com.jcraft.jsch.jce.AESGCM].doFinal(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AESGCM.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].getLong(int)'
    - '[javax.crypto.Cipher].doFinal(byte[],int,int,byte[],int)'
    - '[java.nio.ByteBuffer].array()'
    - '[IllegalStateException].<init>(String)'
    - '[javax.crypto.Cipher].init(int,javax.crypto.spec.SecretKeySpec,javax.crypto.spec.GCMParameterSpec)'
    - '[java.nio.ByteBuffer].putLong(int,com.jcraft.jsch.jce.AESGCM)'
    - '[javax.crypto.spec.GCMParameterSpec].<init>(int,com.jcraft.jsch.jce.AESGCM)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.AESGCM].doFinal(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      - javax.crypto.spec.SecretKeySpec
      - int
      - java.nio.ByteBuffer
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: '[com.jcraft.jsch.jce.AESGCM].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AESGCM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.AESGCM].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      - javax.crypto.spec.SecretKeySpec
      - int
      - java.nio.ByteBuffer
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[com.jcraft.jsch.jce.AESGCM].isAEAD()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AESGCM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.AESGCM].isAEAD()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      - javax.crypto.spec.SecretKeySpec
      - int
      - java.nio.ByteBuffer
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.AESGCM
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.AESGCM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/AESGCM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.AESGCM
    signature: '[com.jcraft.jsch.jce.AESGCM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.asn1.ASN1].<init>(byte[])'
      Src: com.jcraft.jsch.jce.PBKDF2:70,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
      Src: com.jcraft.jsch.jce.PBKDF2:71,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.jce.PBKDF2:72,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getContents()'
      Src: com.jcraft.jsch.jce.PBKDF2:74,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.jce.PBKDF2:76,1
    - Dst: contents[0].isOCTETSTRING()
      Src: com.jcraft.jsch.jce.PBKDF2:78,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.jce.PBKDF2:79,1
    - Dst: contents[1].isINTEGER()
      Src: com.jcraft.jsch.jce.PBKDF2:81,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.jce.PBKDF2:82,1
    - Dst: contents[2].isINTEGER()
      Src: com.jcraft.jsch.jce.PBKDF2:86,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.jce.PBKDF2:87,1
    - Dst: contents[3].isSEQUENCE()
      Src: com.jcraft.jsch.jce.PBKDF2:89,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.jce.PBKDF2:90,1
    - Dst: contents[2].isSEQUENCE()
      Src: com.jcraft.jsch.jce.PBKDF2:94,1
    - Dst: contents[2].isINTEGER()
      Src: com.jcraft.jsch.jce.PBKDF2:96,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.jce.PBKDF2:97,1
    - Dst: contents[0].getContent()
      Src: com.jcraft.jsch.jce.PBKDF2:102,1
    - Dst: contents[1].getContent()
      Src: com.jcraft.jsch.jce.PBKDF2:103,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].parseASN1IntegerAsInt(com.jcraft.jsch.jce.PBKDF2)'
      Src: com.jcraft.jsch.jce.PBKDF2:103,1
    - Dst: prf.getContents()
      Src: com.jcraft.jsch.jce.PBKDF2:106,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.jce.PBKDF2:108,1
    - Dst: contents[0].isOBJECT()
      Src: com.jcraft.jsch.jce.PBKDF2:110,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.jce.PBKDF2:111,1
    - Dst: contents[1].isNULL()
      Src: com.jcraft.jsch.jce.PBKDF2:113,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.jce.PBKDF2:114,1
    - Dst: contents[0].getContent()
      Src: com.jcraft.jsch.jce.PBKDF2:116,1
    - Dst: '[com.jcraft.jsch.jce.PBKDF2].getJceName(com.jcraft.jsch.jce.PBKDF2)'
      Src: com.jcraft.jsch.jce.PBKDF2:119,1
    - Dst: '[javax.crypto.SecretKeyFactory].getInstance(String)'
      Src: com.jcraft.jsch.jce.PBKDF2:120,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.jce.PBKDF2)'
      Src: com.jcraft.jsch.jce.PBKDF2:125,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.jce.PBKDF2)'
      Src: com.jcraft.jsch.jce.PBKDF2:127,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.jce.PBKDF2)'
      Src: com.jcraft.jsch.jce.PBKDF2:128,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 61
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - javax.crypto.SecretKeyFactory
      - byte[]
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KDF
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - asn1
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 130
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 130
    functionName: '[com.jcraft.jsch.jce.PBKDF2].initWithASN1(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/PBKDF2.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.jce.PBKDF2)'
    - '[com.jcraft.jsch.jce.PBKDF2].getJceName(com.jcraft.jsch.jce.PBKDF2)'
    - contents[0].isOCTETSTRING()
    - contents[1].isINTEGER()
    - contents[2].isINTEGER()
    - contents[2].isSEQUENCE()
    - prf.getContents()
    - contents[0].getContent()
    - contents[1].isNULL()
    - '[com.jcraft.jsch.asn1.ASN1].<init>(byte[])'
    - contents[0].isOBJECT()
    - contents[3].isSEQUENCE()
    - contents[1].getContent()
    - '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
    - '[javax.crypto.SecretKeyFactory].getInstance(String)'
    - '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
    - '[com.jcraft.jsch.asn1.ASN1].parseASN1IntegerAsInt(com.jcraft.jsch.jce.PBKDF2)'
    - '[com.jcraft.jsch.asn1.ASN1].getContents()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.PBKDF2].initWithASN1(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.spec.PBEKeySpec].<init>(com.jcraft.jsch.jce.PBKDF2,byte[],int,int)'
      Src: com.jcraft.jsch.jce.PBKDF2:139,1
    - Dst: '[javax.crypto.SecretKeyFactory].generateSecret(javax.crypto.spec.PBEKeySpec)'
      Src: com.jcraft.jsch.jce.PBKDF2:140,1
    - Dst: '[com.jcraft.jsch.jce.PBKDF2].getEncoded()'
      Src: com.jcraft.jsch.jce.PBKDF2:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - javax.crypto.SecretKeyFactory
      - byte[]
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KDF
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - _pass
    - size
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: '[com.jcraft.jsch.jce.PBKDF2].getKey(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/PBKDF2.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.PBKDF2].getEncoded()'
    - '[javax.crypto.SecretKeyFactory].generateSecret(javax.crypto.spec.PBEKeySpec)'
    - '[javax.crypto.spec.PBEKeySpec].<init>(com.jcraft.jsch.jce.PBKDF2,byte[],int,int)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.PBKDF2].getKey(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].equals(byte[],byte[])'
      Src: com.jcraft.jsch.jce.PBKDF2:149,1
    - Dst: '[java.util.Arrays].equals(byte[],byte[])'
      Src: com.jcraft.jsch.jce.PBKDF2:151,1
    - Dst: '[java.util.Arrays].equals(byte[],byte[])'
      Src: com.jcraft.jsch.jce.PBKDF2:153,1
    - Dst: '[java.util.Arrays].equals(byte[],byte[])'
      Src: com.jcraft.jsch.jce.PBKDF2:155,1
    - Dst: '[java.util.Arrays].equals(byte[],byte[])'
      Src: com.jcraft.jsch.jce.PBKDF2:157,1
    - Dst: '[java.util.Arrays].equals(byte[],byte[])'
      Src: com.jcraft.jsch.jce.PBKDF2:159,1
    - Dst: '[java.util.Arrays].equals(byte[],byte[])'
      Src: com.jcraft.jsch.jce.PBKDF2:161,1
    - Dst: '[com.jcraft.jsch.jce.PBKDF2].toHex(byte[])'
      Src: com.jcraft.jsch.jce.PBKDF2:166,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.jce.PBKDF2:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - javax.crypto.SecretKeyFactory
      - byte[]
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces:
      - com.jcraft.jsch.KDF
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - id
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 169
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 169
    functionName: '[com.jcraft.jsch.jce.PBKDF2].getJceName(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/PBKDF2.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].equals(byte[],byte[])'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.jce.PBKDF2].toHex(byte[])'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.PBKDF2].getJceName(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: com.jcraft.jsch.jce.PBKDF2:172,1
    - Dst: Integer.toHexString(int)
      Src: com.jcraft.jsch.jce.PBKDF2:174,1
    - Dst: '[StringBuilder].append(com.jcraft.jsch.jce.PBKDF2)'
      Src: com.jcraft.jsch.jce.PBKDF2:175,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.jce.PBKDF2:177,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.jce.PBKDF2:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - javax.crypto.SecretKeyFactory
      - byte[]
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KDF
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: '[com.jcraft.jsch.jce.PBKDF2].toHex(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/PBKDF2.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].<init>()'
    - Integer.toHexString(int)
    - '[StringBuilder].append(String)'
    - '[StringBuilder].append(com.jcraft.jsch.jce.PBKDF2)'
    - '[StringBuilder].toString()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.PBKDF2].toHex(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - javax.crypto.SecretKeyFactory
      - byte[]
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KDF
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.PBKDF2
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.PBKDF2].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/PBKDF2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.PBKDF2
    signature: '[com.jcraft.jsch.jce.PBKDF2].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.jce.SHA384].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA384.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.SHA384].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: com.jcraft.jsch.jce.SHA384:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jce.SHA384].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA384.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SHA384].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].update(byte[],int,int)'
      Src: com.jcraft.jsch.jce.SHA384:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.jce.SHA384].update(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA384.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].update(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SHA384].update(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].digest()'
      Src: com.jcraft.jsch.jce.SHA384:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.jce.SHA384].digest()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA384.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].digest()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SHA384].digest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.jce.SHA384].name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA384.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SHA384].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SHA384
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SHA384].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA384.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SHA384
    signature: '[com.jcraft.jsch.jce.SHA384].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.jce.BlowfishCTR].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/BlowfishCTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.BlowfishCTR].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.jce.BlowfishCTR].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/BlowfishCTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.BlowfishCTR].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.BlowfishCTR,int,com.jcraft.jsch.jce.BlowfishCTR)
      Src: com.jcraft.jsch.jce.BlowfishCTR:53,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.BlowfishCTR,int,com.jcraft.jsch.jce.BlowfishCTR)
      Src: com.jcraft.jsch.jce.BlowfishCTR:58,1
    - Dst: '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.BlowfishCTR,String)'
      Src: com.jcraft.jsch.jce.BlowfishCTR:62,1
    - Dst: '[javax.crypto.Cipher].getInstance(String)'
      Src: com.jcraft.jsch.jce.BlowfishCTR:63,1
    - Dst: '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.BlowfishCTR)'
      Src: com.jcraft.jsch.jce.BlowfishCTR:66,1
    - Dst: '[com.jcraft.jsch.jce.BlowfishCTR].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
      Src: com.jcraft.jsch.jce.BlowfishCTR:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: '[com.jcraft.jsch.jce.BlowfishCTR].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/BlowfishCTR.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.BlowfishCTR,int,com.jcraft.jsch.jce.BlowfishCTR)
    - '[com.jcraft.jsch.jce.BlowfishCTR].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
    - '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.BlowfishCTR)'
    - '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.BlowfishCTR,String)'
    - '[javax.crypto.Cipher].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.BlowfishCTR].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.BlowfishCTR:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[com.jcraft.jsch.jce.BlowfishCTR].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/BlowfishCTR.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.BlowfishCTR].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.jce.BlowfishCTR].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/BlowfishCTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.BlowfishCTR].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.BlowfishCTR
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.BlowfishCTR].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/BlowfishCTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.BlowfishCTR
    signature: '[com.jcraft.jsch.jce.BlowfishCTR].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.jce.SHA512].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA512.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.SHA512].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: com.jcraft.jsch.jce.SHA512:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jce.SHA512].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA512.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].getInstance(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SHA512].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].update(byte[],int,int)'
      Src: com.jcraft.jsch.jce.SHA512:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.jce.SHA512].update(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA512.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].update(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SHA512].update(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].digest()'
      Src: com.jcraft.jsch.jce.SHA512:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.jce.SHA512].digest()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA512.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].digest()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SHA512].digest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.jce.SHA512].name()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA512.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SHA512].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.MessageDigest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.HASH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SHA512
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SHA512].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA512.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SHA512
    signature: '[com.jcraft.jsch.jce.SHA512].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureRSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.SignatureRSA].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureRSA].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureRSA
      static: false
      superClass: com.jcraft.jsch.jce.SignatureRSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureRSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureRSA
    signature: '[com.jcraft.jsch.jce.SignatureRSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:56,1
    - Dst: '[java.security.KeyPairGenerator].getInstance(String)'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:59,1
    - Dst: '[java.security.spec.ECGenParameterSpec].<init>(com.jcraft.jsch.jce.KeyPairGenECDSA)'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:60,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenECDSA].initialize(java.security.spec.ECGenParameterSpec)'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:61,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenECDSA].genKeyPair()'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:62,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenECDSA].getPrivate()'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:63,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenECDSA].getPublic()'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:64,1
    - Dst: '[java.security.interfaces.ECPublicKey].getParams()'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:65,1
    - Dst: '[java.security.interfaces.ECPrivateKey].getS()'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:66,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenECDSA].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:66,1
    - Dst: '[java.security.interfaces.ECPublicKey].getW()'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:67,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenECDSA].getAffineX()'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:68,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenECDSA].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:68,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenECDSA].getAffineY()'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:69,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenECDSA].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:69,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenECDSA].insert0(com.jcraft.jsch.jce.KeyPairGenECDSA)'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:81,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - java.security.interfaces.ECPublicKey
      - java.security.interfaces.ECPrivateKey
      - java.security.spec.ECParameterSpec
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KeyPairGenECDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 83
    functionName: '[com.jcraft.jsch.jce.KeyPairGenECDSA].init(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenECDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.KeyPairGenECDSA].getAffineX()'
    - '[java.security.KeyPairGenerator].getInstance(String)'
    - '[com.jcraft.jsch.jce.KeyPairGenECDSA].insert0(com.jcraft.jsch.jce.KeyPairGenECDSA)'
    - '[com.jcraft.jsch.jce.KeyPairGenECDSA].getPrivate()'
    - '[java.security.interfaces.ECPrivateKey].getS()'
    - '[java.security.interfaces.ECPublicKey].getW()'
    - '[com.jcraft.jsch.jce.KeyPairGenECDSA].getPublic()'
    - '[com.jcraft.jsch.jce.KeyPairGenECDSA].getAffineY()'
    - '[com.jcraft.jsch.jce.KeyPairGenECDSA].toByteArray()'
    - '[java.security.spec.ECGenParameterSpec].<init>(com.jcraft.jsch.jce.KeyPairGenECDSA)'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.jce.KeyPairGenECDSA].genKeyPair()'
    - '[com.jcraft.jsch.jce.KeyPairGenECDSA].initialize(java.security.spec.ECGenParameterSpec)'
    - '[java.security.interfaces.ECPublicKey].getParams()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.KeyPairGenECDSA].init(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - java.security.interfaces.ECPublicKey
      - java.security.interfaces.ECPrivateKey
      - java.security.spec.ECParameterSpec
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenECDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '[com.jcraft.jsch.jce.KeyPairGenECDSA].getD()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenECDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenECDSA].getD()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - java.security.interfaces.ECPublicKey
      - java.security.interfaces.ECPrivateKey
      - java.security.spec.ECParameterSpec
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenECDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[com.jcraft.jsch.jce.KeyPairGenECDSA].getR()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenECDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenECDSA].getR()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - java.security.interfaces.ECPublicKey
      - java.security.interfaces.ECPrivateKey
      - java.security.spec.ECParameterSpec
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenECDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: '[com.jcraft.jsch.jce.KeyPairGenECDSA].getS()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenECDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenECDSA].getS()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - java.security.interfaces.ECPublicKey
      - java.security.interfaces.ECPrivateKey
      - java.security.spec.ECParameterSpec
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenECDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.security.interfaces.ECPublicKey
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '[com.jcraft.jsch.jce.KeyPairGenECDSA].getPublicKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenECDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.security.interfaces.ECPublicKey
    signature: '[com.jcraft.jsch.jce.KeyPairGenECDSA].getPublicKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - java.security.interfaces.ECPublicKey
      - java.security.interfaces.ECPrivateKey
      - java.security.spec.ECParameterSpec
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenECDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.security.interfaces.ECPrivateKey
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '[com.jcraft.jsch.jce.KeyPairGenECDSA].getPrivateKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenECDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.security.interfaces.ECPrivateKey
    signature: '[com.jcraft.jsch.jce.KeyPairGenECDSA].getPrivateKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.KeyPairGenECDSA,int,com.jcraft.jsch.jce.KeyPairGenECDSA)
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:111,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - java.security.interfaces.ECPublicKey
      - java.security.interfaces.ECPrivateKey
      - java.security.spec.ECParameterSpec
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenECDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: '[com.jcraft.jsch.jce.KeyPairGenECDSA].insert0(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenECDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.KeyPairGenECDSA,int,com.jcraft.jsch.jce.KeyPairGenECDSA)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenECDSA].insert0(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.KeyPairGenECDSA,int,com.jcraft.jsch.jce.KeyPairGenECDSA)
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:120,1
    - Dst: '[com.jcraft.jsch.Util].bzero(byte[])'
      Src: com.jcraft.jsch.jce.KeyPairGenECDSA:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - java.security.interfaces.ECPublicKey
      - java.security.interfaces.ECPrivateKey
      - java.security.spec.ECParameterSpec
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenECDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: '[com.jcraft.jsch.jce.KeyPairGenECDSA].chop0(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenECDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Util].bzero(byte[])'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.KeyPairGenECDSA,int,com.jcraft.jsch.jce.KeyPairGenECDSA)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenECDSA].chop0(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - java.security.interfaces.ECPublicKey
      - java.security.interfaces.ECPrivateKey
      - java.security.spec.ECParameterSpec
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenECDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.KeyPairGenECDSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.KeyPairGenECDSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenECDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.KeyPairGenECDSA
    signature: '[com.jcraft.jsch.jce.KeyPairGenECDSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureECDSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.SignatureECDSA521].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSA521.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jce.SignatureECDSA521].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureECDSA521
      static: false
      superClass: com.jcraft.jsch.jce.SignatureECDSAN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.SignatureECDSA521].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSA521.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureECDSA521
    signature: '[com.jcraft.jsch.jce.SignatureECDSA521].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACMD5ETM
      static: false
      superClass: com.jcraft.jsch.jce.HMACMD5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.jce.HMACMD5ETM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACMD5ETM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACMD5ETM
    signature: '[com.jcraft.jsch.jce.HMACMD5ETM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.jce.BlowfishCBC].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/BlowfishCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.BlowfishCBC].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.jce.BlowfishCBC].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/BlowfishCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.BlowfishCBC].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.BlowfishCBC,int,com.jcraft.jsch.jce.BlowfishCBC)
      Src: com.jcraft.jsch.jce.BlowfishCBC:53,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.BlowfishCBC,int,com.jcraft.jsch.jce.BlowfishCBC)
      Src: com.jcraft.jsch.jce.BlowfishCBC:58,1
    - Dst: '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.BlowfishCBC,String)'
      Src: com.jcraft.jsch.jce.BlowfishCBC:62,1
    - Dst: '[javax.crypto.Cipher].getInstance(String)'
      Src: com.jcraft.jsch.jce.BlowfishCBC:63,1
    - Dst: '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.BlowfishCBC)'
      Src: com.jcraft.jsch.jce.BlowfishCBC:66,1
    - Dst: '[com.jcraft.jsch.jce.BlowfishCBC].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
      Src: com.jcraft.jsch.jce.BlowfishCBC:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: '[com.jcraft.jsch.jce.BlowfishCBC].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/BlowfishCBC.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.BlowfishCBC)'
    - '[javax.crypto.spec.SecretKeySpec].<init>(com.jcraft.jsch.jce.BlowfishCBC,String)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.BlowfishCBC,int,com.jcraft.jsch.jce.BlowfishCBC)
    - '[javax.crypto.Cipher].getInstance(String)'
    - '[com.jcraft.jsch.jce.BlowfishCBC].init(javax.crypto.spec.SecretKeySpec,javax.crypto.spec.IvParameterSpec)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.BlowfishCBC].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.BlowfishCBC:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[com.jcraft.jsch.jce.BlowfishCBC].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/BlowfishCBC.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.BlowfishCBC].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.jce.BlowfishCBC].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/BlowfishCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.BlowfishCBC].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.BlowfishCBC
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.BlowfishCBC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/BlowfishCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.BlowfishCBC
    signature: '[com.jcraft.jsch.jce.BlowfishCBC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jce.TripleDESCBC].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/TripleDESCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.TripleDESCBC].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.jce.TripleDESCBC].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/TripleDESCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.TripleDESCBC].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.TripleDESCBC,int,com.jcraft.jsch.jce.TripleDESCBC)
      Src: com.jcraft.jsch.jce.TripleDESCBC:55,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.jce.TripleDESCBC,int,com.jcraft.jsch.jce.TripleDESCBC)
      Src: com.jcraft.jsch.jce.TripleDESCBC:60,1
    - Dst: '[javax.crypto.Cipher].getInstance(String)'
      Src: com.jcraft.jsch.jce.TripleDESCBC:65,1
    - Dst: '[javax.crypto.spec.DESedeKeySpec].<init>(com.jcraft.jsch.jce.TripleDESCBC)'
      Src: com.jcraft.jsch.jce.TripleDESCBC:71,1
    - Dst: '[javax.crypto.SecretKeyFactory].getInstance(String)'
      Src: com.jcraft.jsch.jce.TripleDESCBC:72,1
    - Dst: '[com.jcraft.jsch.jce.TripleDESCBC].generateSecret(javax.crypto.spec.DESedeKeySpec)'
      Src: com.jcraft.jsch.jce.TripleDESCBC:73,1
    - Dst: '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.TripleDESCBC)'
      Src: com.jcraft.jsch.jce.TripleDESCBC:76,1
    - Dst: '[com.jcraft.jsch.jce.TripleDESCBC].init(com.jcraft.jsch.jce.TripleDESCBC,javax.crypto.spec.IvParameterSpec)'
      Src: com.jcraft.jsch.jce.TripleDESCBC:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 81
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.jce.TripleDESCBC].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/TripleDESCBC.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.jce.TripleDESCBC,int,com.jcraft.jsch.jce.TripleDESCBC)
    - '[javax.crypto.spec.DESedeKeySpec].<init>(com.jcraft.jsch.jce.TripleDESCBC)'
    - '[com.jcraft.jsch.jce.TripleDESCBC].init(com.jcraft.jsch.jce.TripleDESCBC,javax.crypto.spec.IvParameterSpec)'
    - '[javax.crypto.spec.IvParameterSpec].<init>(com.jcraft.jsch.jce.TripleDESCBC)'
    - '[javax.crypto.SecretKeyFactory].getInstance(String)'
    - '[javax.crypto.Cipher].getInstance(String)'
    - '[com.jcraft.jsch.jce.TripleDESCBC].generateSecret(javax.crypto.spec.DESedeKeySpec)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.TripleDESCBC].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.jce.TripleDESCBC:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.jce.TripleDESCBC].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/TripleDESCBC.java
    functionUses: 0
    functionsReached:
    - '[javax.crypto.Cipher].update(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.TripleDESCBC].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[com.jcraft.jsch.jce.TripleDESCBC].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/TripleDESCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.TripleDESCBC].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - javax.crypto.Cipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.TripleDESCBC
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.TripleDESCBC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/TripleDESCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.TripleDESCBC
    signature: '[com.jcraft.jsch.jce.TripleDESCBC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEd448:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.SignatureEd448
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.jce.SignatureEd448].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd448.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.jce.SignatureEd448
    signature: '[com.jcraft.jsch.jce.SignatureEd448].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEd448:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.jce.SignatureEd448].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd448.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureEd448].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEd448:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - y_arr
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.jce.SignatureEd448].setPubKey(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd448.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureEd448].setPubKey(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEd448:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[com.jcraft.jsch.jce.SignatureEd448].setPrvKey(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd448.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureEd448].setPrvKey(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEd448:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[com.jcraft.jsch.jce.SignatureEd448].sign()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd448.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.SignatureEd448].sign()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEd448:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[com.jcraft.jsch.jce.SignatureEd448].update(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd448.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.SignatureEd448].update(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.SignatureEd448:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sig
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[com.jcraft.jsch.jce.SignatureEd448].verify(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd448.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jce.SignatureEd448].verify(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACMD5
      static: false
      superClass: com.jcraft.jsch.jce.HMAC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.jce.HMACMD5].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACMD5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACMD5
    signature: '[com.jcraft.jsch.jce.HMACMD5].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.KeyPairGenerator].getInstance(String)'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:51,1
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:52,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenRSA].initialize(int,java.security.SecureRandom)'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:52,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenRSA].generateKeyPair()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:53,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenRSA].getPublic()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:55,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenRSA].getPrivate()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:56,1
    - Dst: '[java.security.interfaces.RSAPrivateKey].getPrivateExponent()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:58,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenRSA].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:58,1
    - Dst: '[java.security.interfaces.RSAPublicKey].getPublicExponent()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:59,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenRSA].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:59,1
    - Dst: '[java.security.interfaces.RSAPrivateKey].getModulus()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:60,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenRSA].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:60,1
    - Dst: '[java.security.interfaces.RSAPrivateCrtKey].getCrtCoefficient()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:62,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenRSA].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:62,1
    - Dst: '[java.security.interfaces.RSAPrivateCrtKey].getPrimeExponentP()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:63,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenRSA].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:63,1
    - Dst: '[java.security.interfaces.RSAPrivateCrtKey].getPrimeExponentQ()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:64,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenRSA].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:64,1
    - Dst: '[java.security.interfaces.RSAPrivateCrtKey].getPrimeP()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:65,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenRSA].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:65,1
    - Dst: '[java.security.interfaces.RSAPrivateCrtKey].getPrimeQ()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:66,1
    - Dst: '[com.jcraft.jsch.jce.KeyPairGenRSA].toByteArray()'
      Src: com.jcraft.jsch.jce.KeyPairGenRSA:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KeyPairGenRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: '[com.jcraft.jsch.jce.KeyPairGenRSA].init(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenRSA.java
    functionUses: 0
    functionsReached:
    - '[java.security.interfaces.RSAPrivateCrtKey].getPrimeP()'
    - '[java.security.KeyPairGenerator].getInstance(String)'
    - '[java.security.interfaces.RSAPrivateKey].getPrivateExponent()'
    - '[com.jcraft.jsch.jce.KeyPairGenRSA].initialize(int,java.security.SecureRandom)'
    - '[java.security.SecureRandom].<init>()'
    - '[java.security.interfaces.RSAPrivateCrtKey].getPrimeExponentP()'
    - '[java.security.interfaces.RSAPrivateCrtKey].getCrtCoefficient()'
    - '[java.security.interfaces.RSAPublicKey].getPublicExponent()'
    - '[com.jcraft.jsch.jce.KeyPairGenRSA].generateKeyPair()'
    - '[com.jcraft.jsch.jce.KeyPairGenRSA].getPrivate()'
    - '[com.jcraft.jsch.jce.KeyPairGenRSA].toByteArray()'
    - '[java.security.interfaces.RSAPrivateKey].getModulus()'
    - '[java.security.interfaces.RSAPrivateCrtKey].getPrimeExponentQ()'
    - '[java.security.interfaces.RSAPrivateCrtKey].getPrimeQ()'
    - '[com.jcraft.jsch.jce.KeyPairGenRSA].getPublic()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.KeyPairGenRSA].init(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[com.jcraft.jsch.jce.KeyPairGenRSA].getD()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenRSA].getD()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[com.jcraft.jsch.jce.KeyPairGenRSA].getE()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenRSA].getE()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[com.jcraft.jsch.jce.KeyPairGenRSA].getN()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenRSA].getN()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[com.jcraft.jsch.jce.KeyPairGenRSA].getC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenRSA].getC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: '[com.jcraft.jsch.jce.KeyPairGenRSA].getEP()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenRSA].getEP()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: '[com.jcraft.jsch.jce.KeyPairGenRSA].getEQ()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenRSA].getEQ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: '[com.jcraft.jsch.jce.KeyPairGenRSA].getP()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenRSA].getP()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: '[com.jcraft.jsch.jce.KeyPairGenRSA].getQ()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.KeyPairGenRSA].getQ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenRSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.KeyPairGenRSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.KeyPairGenRSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenRSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.KeyPairGenRSA
    signature: '[com.jcraft.jsch.jce.KeyPairGenRSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.MLKEM1024:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.MLKEM1024
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.jce.MLKEM1024].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/MLKEM1024.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.jce.MLKEM1024
    signature: '[com.jcraft.jsch.jce.MLKEM1024].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.MLKEM1024:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.jce.MLKEM1024].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/MLKEM1024.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.MLKEM1024].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.MLKEM1024:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.jce.MLKEM1024].getPublicKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/MLKEM1024.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.MLKEM1024].getPublicKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.MLKEM1024:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encapsulation
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[com.jcraft.jsch.jce.MLKEM1024].decapsulate(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/MLKEM1024.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.MLKEM1024].decapsulate(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: com.jcraft.jsch.jce.Random:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.SecureRandom
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Random
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.Random
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.jce.Random].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/Random.java
    functionUses: 0
    functionsReached:
    - '[java.security.SecureRandom].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.jce.Random
    signature: '[com.jcraft.jsch.jce.Random].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.SecureRandom].nextBytes(byte[])'
      Src: com.jcraft.jsch.jce.Random:67,1
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.jce.Random:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - java.security.SecureRandom
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Random
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: '[com.jcraft.jsch.jce.Random].fill(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/Random.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,int)
    - '[java.security.SecureRandom].nextBytes(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.Random].fill(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jce.ECDHN].init(int)'
      Src: com.jcraft.jsch.jce.ECDH384:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.jce.ECDHN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.jce.ECDH384].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDH384.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.ECDHN].init(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.ECDH384].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.ECDH384
      static: false
      superClass: com.jcraft.jsch.jce.ECDHN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.ECDH384].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDH384.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.ECDH384
    signature: '[com.jcraft.jsch.jce.ECDH384].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.MLKEM768:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.MLKEM768
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.jce.MLKEM768].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/MLKEM768.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.jce.MLKEM768
    signature: '[com.jcraft.jsch.jce.MLKEM768].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.MLKEM768:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[com.jcraft.jsch.jce.MLKEM768].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/MLKEM768.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.MLKEM768].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.MLKEM768:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.jce.MLKEM768].getPublicKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/MLKEM768.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.MLKEM768].getPublicKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: com.jcraft.jsch.jce.MLKEM768:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encapsulation
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[com.jcraft.jsch.jce.MLKEM768].decapsulate(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/MLKEM768.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jce.MLKEM768].decapsulate(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jce.ECDHN].init(int)'
      Src: com.jcraft.jsch.jce.ECDH256:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.jce.ECDHN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.jce.ECDH256].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDH256.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jce.ECDHN].init(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.ECDH256].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.ECDH256
      static: false
      superClass: com.jcraft.jsch.jce.ECDHN
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jce.ECDH256].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDH256.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.ECDH256
    signature: '[com.jcraft.jsch.jce.ECDH256].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jce.HMACMD596
      static: false
      superClass: com.jcraft.jsch.jce.HMACMD5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.jce.HMACMD596].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACMD596.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jce.HMACMD596
    signature: '[com.jcraft.jsch.jce.HMACMD596].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jce.HMACMD5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[com.jcraft.jsch.jce.HMACMD596].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACMD596.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jce.HMACMD596].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jce.HMACMD5].doFinal(byte[],int)'
      Src: com.jcraft.jsch.jce.HMACMD596:43,1
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.jce.HMACMD596:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: com.jcraft.jsch.jce.HMACMD5
    argCount: 2
    argNames:
    - buf
    - offset
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.jce.HMACMD596].doFinal(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACMD596.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,int)
    - '[com.jcraft.jsch.jce.HMACMD5].doFinal(byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jce.HMACMD596].doFinal(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.jbcrypt.JBCrypt:39,1
    - Dst: '[com.jcraft.jsch.Buffer].getString()'
      Src: com.jcraft.jsch.jbcrypt.JBCrypt:40,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.jbcrypt.JBCrypt:41,1
    - Dst: '[com.jcraft.jsch.BCrypt].<init>()'
      Src: com.jcraft.jsch.jbcrypt.JBCrypt:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.BCrypt
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KDF
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - kdfOptions
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.jbcrypt.JBCrypt].initWithOpenSSHv1KDFOptions(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/JBCrypt.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - '[com.jcraft.jsch.Buffer].getString()'
    - '[com.jcraft.jsch.BCrypt].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.JBCrypt].initWithOpenSSHv1KDFOptions(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.BCrypt].pbkdf(byte[],byte[],int,com.jcraft.jsch.jbcrypt.JBCrypt)'
      Src: com.jcraft.jsch.jbcrypt.JBCrypt:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.BCrypt
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KDF
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pass
    - size
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: '[com.jcraft.jsch.jbcrypt.JBCrypt].getKey(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/JBCrypt.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.BCrypt].pbkdf(byte[],byte[],int,com.jcraft.jsch.jbcrypt.JBCrypt)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jbcrypt.JBCrypt].getKey(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - com.jcraft.jsch.BCrypt
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KDF
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jbcrypt.JBCrypt
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jbcrypt.JBCrypt].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/JBCrypt.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jbcrypt.JBCrypt
    signature: '[com.jcraft.jsch.jbcrypt.JBCrypt].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:269,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:273,1
    - Dst: '[StringBuilder].append()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:277,1
    - Dst: '[StringBuilder].append()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:280,1
    - Dst: '[StringBuilder].append()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:285,1
    - Dst: '[StringBuilder].append()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:288,1
    - Dst: '[StringBuilder].append()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:293,1
    - Dst: '[StringBuilder].append()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:294,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:296,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - IllegalArgumentException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - d
    - len
    argTypes:
    - byte
    - int
    constantsTouched: []
    func_position:
      end: 297
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 297
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].encode_base64(byte,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append()'
    - '[IllegalArgumentException].<init>(String)'
    - '[StringBuilder].toString()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].encode_base64(byte,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - char
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - x
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].char64(char)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].char64(char)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:322,1
    - Dst: '[String].length()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:323,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:328,1
    - Dst: '[String].charAt()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:331,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].char64(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:331,1
    - Dst: '[String].charAt()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:332,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].char64(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:332,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:337,1
    - Dst: '[String].charAt()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:340,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].char64(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:340,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:345,1
    - Dst: '[String].charAt()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:348,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].char64(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:348,1
    - Dst: '[StringBuilder].append(char)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:351,1
    - Dst: '[StringBuilder].charAt(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:357,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - IllegalArgumentException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - s
    - maxolen
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 359
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 359
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].decode_base64(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].<init>()'
    - '[StringBuilder].charAt(com.jcraft.jsch.jbcrypt.BCrypt)'
    - '[String].length()'
    - '[IllegalArgumentException].<init>(String)'
    - '[StringBuilder].append(char)'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].char64(com.jcraft.jsch.jbcrypt.BCrypt)'
    - '[String].charAt()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].decode_base64(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - lr
    - 'off'
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 388
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 388
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].encipher(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].encipher(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - data
    - offp
    argTypes:
    - byte
    - int
    constantsTouched: []
    func_position:
      end: 409
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 409
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].streamtoword(byte,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].streamtoword(byte,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[int].clone()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:413,1
    - Dst: '[int].clone()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].init_key()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 2
    functionsReached:
    - '[int].clone()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].init_key()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].streamtoword(byte,com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:429,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].encipher(com.jcraft.jsch.jbcrypt.BCrypt,int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:432,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].encipher(com.jcraft.jsch.jbcrypt.BCrypt,int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 442
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 442
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].key(byte)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jbcrypt.BCrypt].encipher(com.jcraft.jsch.jbcrypt.BCrypt,int)'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].streamtoword(byte,com.jcraft.jsch.jbcrypt.BCrypt)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].key(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].streamtoword(byte,com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:458,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].streamtoword(byte,com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:461,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].streamtoword(byte,com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:462,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].encipher(com.jcraft.jsch.jbcrypt.BCrypt,int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:463,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].streamtoword(byte,com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:469,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].streamtoword(byte,com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:470,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].encipher(com.jcraft.jsch.jbcrypt.BCrypt,int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - key
    argTypes:
    - byte
    - byte
    constantsTouched: []
    func_position:
      end: 475
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 475
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].ekskey(byte,byte)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.jbcrypt.BCrypt].encipher(com.jcraft.jsch.jbcrypt.BCrypt,int)'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].streamtoword(byte,com.jcraft.jsch.jbcrypt.BCrypt)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].ekskey(byte,byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].init_key()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:479,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].ekskey(byte[],byte[])'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:480,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].key(byte[])'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:482,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].key(byte[])'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:483,1
    - Dst: System.arraycopy(int[],int,com.jcraft.jsch.jbcrypt.BCrypt,int,com.jcraft.jsch.jbcrypt.BCrypt)
      Src: com.jcraft.jsch.jbcrypt.BCrypt:487,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].encipher(com.jcraft.jsch.jbcrypt.BCrypt,com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - hpass
    - hsalt
    - output
    argTypes:
    - byte[]
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 501
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 501
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].hash(byte[],byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jbcrypt.BCrypt].ekskey(byte[],byte[])'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].encipher(com.jcraft.jsch.jbcrypt.BCrypt,com.jcraft.jsch.jbcrypt.BCrypt)'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].init_key()'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].key(byte[])'
    - System.arraycopy(int[],int,com.jcraft.jsch.jbcrypt.BCrypt,int,com.jcraft.jsch.jbcrypt.BCrypt)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].hash(byte[],byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:506,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].digest(byte[])'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:509,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].reset()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:522,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].update(byte[])'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:523,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].update(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:524,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].digest(com.jcraft.jsch.jbcrypt.BCrypt,int,com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:525,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].hash(com.jcraft.jsch.jbcrypt.BCrypt,com.jcraft.jsch.jbcrypt.BCrypt,com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:527,1
    - Dst: System.arraycopy(com.jcraft.jsch.jbcrypt.BCrypt,int,com.jcraft.jsch.jbcrypt.BCrypt,int,com.jcraft.jsch.jbcrypt.BCrypt)
      Src: com.jcraft.jsch.jbcrypt.BCrypt:528,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].reset()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:531,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].update(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:532,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].digest(com.jcraft.jsch.jbcrypt.BCrypt,int,com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:533,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].hash(com.jcraft.jsch.jbcrypt.BCrypt,com.jcraft.jsch.jbcrypt.BCrypt,com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:535,1
    - Dst: '[RuntimeException].<init>(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:550,1
    - Dst: '[RuntimeException].<init>(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:552,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - int
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - password
    - salt
    - rounds
    - output
    argTypes:
    - byte[]
    - byte[]
    - int
    - byte[]
    constantsTouched: []
    func_position:
      end: 554
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 554
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].pbkdf(byte[],byte[],int,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 0
    functionsReached:
    - '[java.security.MessageDigest].getInstance(String)'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].update(byte[])'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].hash(com.jcraft.jsch.jbcrypt.BCrypt,com.jcraft.jsch.jbcrypt.BCrypt,com.jcraft.jsch.jbcrypt.BCrypt)'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].reset()'
    - '[RuntimeException].<init>(com.jcraft.jsch.jbcrypt.BCrypt)'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].update(com.jcraft.jsch.jbcrypt.BCrypt)'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].digest(com.jcraft.jsch.jbcrypt.BCrypt,int,com.jcraft.jsch.jbcrypt.BCrypt)'
    - System.arraycopy(com.jcraft.jsch.jbcrypt.BCrypt,int,com.jcraft.jsch.jbcrypt.BCrypt,int,com.jcraft.jsch.jbcrypt.BCrypt)
    - '[com.jcraft.jsch.jbcrypt.BCrypt].digest(byte[])'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].pbkdf(byte[],byte[],int,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:571,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:574,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].init_key()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:576,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].ekskey(byte,byte)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:577,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].key(byte)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:579,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].key(byte)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:580,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].encipher(int,int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:585,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - byte
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - password
    - salt
    - log_rounds
    - cdata
    argTypes:
    - byte
    - byte
    - int
    - int
    constantsTouched: []
    func_position:
      end: 596
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 596
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].crypt_raw(byte,byte,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jbcrypt.BCrypt].key(byte)'
    - '[IllegalArgumentException].<init>(String)'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].encipher(int,int)'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].init_key()'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].ekskey(byte,byte)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].crypt_raw(byte,byte,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:611,1
    - Dst: '[String].charAt(int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:613,1
    - Dst: '[String].charAt(int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:613,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:614,1
    - Dst: '[String].charAt(int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:615,1
    - Dst: '[String].charAt(int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:618,1
    - Dst: '[String].charAt(int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:619,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:620,1
    - Dst: '[String].charAt(int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:625,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:626,1
    - Dst: '[String].substring(com.jcraft.jsch.jbcrypt.BCrypt,int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:627,1
    - Dst: Integer.parseInt(com.jcraft.jsch.jbcrypt.BCrypt)
      Src: com.jcraft.jsch.jbcrypt.BCrypt:627,1
    - Dst: '[String].substring(int,int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:629,1
    - Dst: '(password + (minor >= ''a'' ? "\000" : "")).getBytes(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:630,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].decode_base64(com.jcraft.jsch.jbcrypt.BCrypt,int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:632,1
    - Dst: '[com.jcraft.jsch.BCrypt].<init>()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:634,1
    - Dst: '[int].clone()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:635,1
    - Dst: '[com.jcraft.jsch.BCrypt].crypt_raw(com.jcraft.jsch.jbcrypt.BCrypt,byte[],com.jcraft.jsch.jbcrypt.BCrypt,com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:635,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:637,1
    - Dst: '[StringBuilder].append(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:639,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:640,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:642,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:644,1
    - Dst: Integer.toString(com.jcraft.jsch.jbcrypt.BCrypt)
      Src: com.jcraft.jsch.jbcrypt.BCrypt:646,1
    - Dst: '[StringBuilder].append(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:646,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:647,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].encode_base64(byte[],com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:648,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:648,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].encode_base64(com.jcraft.jsch.jbcrypt.BCrypt,int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:649,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:649,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:650,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - password
    - salt
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 651
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 651
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].hashpw(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].<init>()'
    - '[String].charAt(int)'
    - '[StringBuilder].append(com.jcraft.jsch.jbcrypt.BCrypt)'
    - '[IllegalArgumentException].<init>(String)'
    - '[com.jcraft.jsch.BCrypt].<init>()'
    - Integer.toString(com.jcraft.jsch.jbcrypt.BCrypt)
    - '[com.jcraft.jsch.jbcrypt.BCrypt].encode_base64(byte[],com.jcraft.jsch.jbcrypt.BCrypt)'
    - Integer.parseInt(com.jcraft.jsch.jbcrypt.BCrypt)
    - '[com.jcraft.jsch.BCrypt].crypt_raw(com.jcraft.jsch.jbcrypt.BCrypt,byte[],com.jcraft.jsch.jbcrypt.BCrypt,com.jcraft.jsch.jbcrypt.BCrypt)'
    - '[String].substring(int,int)'
    - '[int].clone()'
    - '[StringBuilder].append(String)'
    - '(password + (minor >= ''a'' ? "\000" : "")).getBytes(com.jcraft.jsch.jbcrypt.BCrypt)'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].encode_base64(com.jcraft.jsch.jbcrypt.BCrypt,int)'
    - '[String].substring(com.jcraft.jsch.jbcrypt.BCrypt,int)'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].decode_base64(com.jcraft.jsch.jbcrypt.BCrypt,int)'
    - '[StringBuilder].toString()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].hashpw(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:662,1
    - Dst: '[java.security.SecureRandom].nextBytes(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:665,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:667,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:669,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:671,1
    - Dst: Integer.toString(int)
      Src: com.jcraft.jsch.jbcrypt.BCrypt:673,1
    - Dst: '[StringBuilder].append(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:673,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:674,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].encode_base64(com.jcraft.jsch.jbcrypt.BCrypt,com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:675,1
    - Dst: '[StringBuilder].append(String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:675,1
    - Dst: '[StringBuilder].toString()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - java.security.SecureRandom
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - log_rounds
    - random
    argTypes:
    - int
    - java.security.SecureRandom
    constantsTouched: []
    func_position:
      end: 677
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 677
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].gensalt(int,java.security.SecureRandom)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(com.jcraft.jsch.jbcrypt.BCrypt)'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].encode_base64(com.jcraft.jsch.jbcrypt.BCrypt,com.jcraft.jsch.jbcrypt.BCrypt)'
    - '[IllegalArgumentException].<init>(String)'
    - '[java.security.SecureRandom].nextBytes(com.jcraft.jsch.jbcrypt.BCrypt)'
    - Integer.toString(int)
    - '[StringBuilder].append(String)'
    - '[StringBuilder].toString()'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].gensalt(int,java.security.SecureRandom)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:687,1
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].gensalt(int,java.security.SecureRandom)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - log_rounds
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 688
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 688
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].gensalt(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 1
    functionsReached:
    - '[java.security.SecureRandom].<init>()'
    - '[com.jcraft.jsch.jbcrypt.BCrypt].gensalt(int,java.security.SecureRandom)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].gensalt(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].gensalt(int)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 698
      start: 696
    functionDepth: 3
    functionLinenumber: 696
    functionLinenumberEnd: 698
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].gensalt()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jbcrypt.BCrypt].gensalt(int)'
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].gensalt()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jbcrypt.BCrypt].hashpw(String,String)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:708,1
    - Dst: '[String].getBytes(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:709,1
    - Dst: '[String].getBytes(com.jcraft.jsch.jbcrypt.BCrypt)'
      Src: com.jcraft.jsch.jbcrypt.BCrypt:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - plaintext
    - hashed
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 717
      start: 707
    functionDepth: 2
    functionLinenumber: 707
    functionLinenumberEnd: 717
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].checkpw(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jbcrypt.BCrypt].hashpw(String,String)'
    - '[String].getBytes(com.jcraft.jsch.jbcrypt.BCrypt)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].checkpw(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int[]
      - int
      - char
      - byte
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jbcrypt.BCrypt
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jbcrypt.BCrypt].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.jbcrypt.BCrypt
    signature: '[com.jcraft.jsch.jbcrypt.BCrypt].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: com.jcraft.jsch.bc.Argon2:41,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: com.jcraft.jsch.bc.Argon2:42,1
    - Dst: '[com.jcraft.jsch.bc.Argon2].length()'
      Src: com.jcraft.jsch.bc.Argon2:44,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.bc.Argon2:45,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String)'
      Src: com.jcraft.jsch.bc.Argon2:60,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: com.jcraft.jsch.bc.Argon2:63,1
    - Dst: Integer.parseInt(com.jcraft.jsch.bc.Argon2)
      Src: com.jcraft.jsch.bc.Argon2:63,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: com.jcraft.jsch.bc.Argon2:64,1
    - Dst: Integer.parseInt(com.jcraft.jsch.bc.Argon2)
      Src: com.jcraft.jsch.bc.Argon2:64,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: com.jcraft.jsch.bc.Argon2:65,1
    - Dst: Integer.parseInt(com.jcraft.jsch.bc.Argon2)
      Src: com.jcraft.jsch.bc.Argon2:65,1
    - Dst: '[com.jcraft.jsch.bc.Argon2].length()'
      Src: com.jcraft.jsch.bc.Argon2:66,1
    - Dst: '[com.jcraft.jsch.bc.Argon2].substring(com.jcraft.jsch.bc.Argon2,int)'
      Src: com.jcraft.jsch.bc.Argon2:69,1
    - Dst: Integer.parseInt(com.jcraft.jsch.bc.Argon2,int)
      Src: com.jcraft.jsch.bc.Argon2:69,1
    - Dst: '[Argon2Parameters.Builder].<init>(com.jcraft.jsch.bc.Argon2)'
      Src: com.jcraft.jsch.bc.Argon2:73,1
    - Dst: '[Argon2Parameters.Builder].withSalt(com.jcraft.jsch.bc.Argon2)'
      Src: com.jcraft.jsch.bc.Argon2:73,1
    - Dst: '[com.jcraft.jsch.bc.Argon2].withAdditional()'
      Src: com.jcraft.jsch.bc.Argon2:73,1
    - Dst: '[com.jcraft.jsch.bc.Argon2].withSecret()'
      Src: com.jcraft.jsch.bc.Argon2:73,1
    - Dst: '[com.jcraft.jsch.bc.Argon2].withIterations(com.jcraft.jsch.bc.Argon2)'
      Src: com.jcraft.jsch.bc.Argon2:73,1
    - Dst: '[com.jcraft.jsch.bc.Argon2].withMemoryAsKB(com.jcraft.jsch.bc.Argon2)'
      Src: com.jcraft.jsch.bc.Argon2:73,1
    - Dst: '[com.jcraft.jsch.bc.Argon2].withParallelism(com.jcraft.jsch.bc.Argon2)'
      Src: com.jcraft.jsch.bc.Argon2:73,1
    - Dst: '[com.jcraft.jsch.bc.Argon2].withVersion(com.jcraft.jsch.bc.Argon2)'
      Src: com.jcraft.jsch.bc.Argon2:73,1
    - Dst: '[com.jcraft.jsch.bc.Argon2].build()'
      Src: com.jcraft.jsch.bc.Argon2:73,1
    - Dst: '[org.bouncycastle.crypto.generators.Argon2BytesGenerator].<init>()'
      Src: com.jcraft.jsch.bc.Argon2:76,1
    - Dst: '[org.bouncycastle.crypto.generators.Argon2BytesGenerator].init(com.jcraft.jsch.bc.Argon2)'
      Src: com.jcraft.jsch.bc.Argon2:77,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.bc.Argon2)'
      Src: com.jcraft.jsch.bc.Argon2:79,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields:
      - org.bouncycastle.crypto.generators.Argon2BytesGenerator
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KDF
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - header
    argTypes:
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 81
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.bc.Argon2].initWithPPKv3Header(java.util.Map<String,String>)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Argon2.java
    functionUses: 0
    functionsReached:
    - '[Argon2Parameters.Builder].withSalt(com.jcraft.jsch.bc.Argon2)'
    - Integer.parseInt(com.jcraft.jsch.bc.Argon2)
    - '[Argon2Parameters.Builder].<init>(com.jcraft.jsch.bc.Argon2)'
    - '[com.jcraft.jsch.bc.Argon2].withSecret()'
    - '[com.jcraft.jsch.bc.Argon2].withIterations(com.jcraft.jsch.bc.Argon2)'
    - '[com.jcraft.jsch.bc.Argon2].withParallelism(com.jcraft.jsch.bc.Argon2)'
    - '[com.jcraft.jsch.bc.Argon2].substring(com.jcraft.jsch.bc.Argon2,int)'
    - '[com.jcraft.jsch.bc.Argon2].withVersion(com.jcraft.jsch.bc.Argon2)'
    - '[com.jcraft.jsch.bc.Argon2].length()'
    - '[org.bouncycastle.crypto.generators.Argon2BytesGenerator].<init>()'
    - '[com.jcraft.jsch.bc.Argon2].withAdditional()'
    - '[org.bouncycastle.crypto.generators.Argon2BytesGenerator].init(com.jcraft.jsch.bc.Argon2)'
    - '[com.jcraft.jsch.bc.Argon2].build()'
    - '[com.jcraft.jsch.JSchException].<init>(String)'
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.bc.Argon2)'
    - '[java.util.Map<String,String>].get(String)'
    - Integer.parseInt(com.jcraft.jsch.bc.Argon2,int)
    - '[com.jcraft.jsch.bc.Argon2].withMemoryAsKB(com.jcraft.jsch.bc.Argon2)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.Argon2].initWithPPKv3Header(java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.crypto.generators.Argon2BytesGenerator].generateBytes(byte[],com.jcraft.jsch.bc.Argon2)'
      Src: com.jcraft.jsch.bc.Argon2:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.bouncycastle.crypto.generators.Argon2BytesGenerator
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KDF
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pass
    - size
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: '[com.jcraft.jsch.bc.Argon2].getKey(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Argon2.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.generators.Argon2BytesGenerator].generateBytes(byte[],com.jcraft.jsch.bc.Argon2)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.bc.Argon2].getKey(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.bouncycastle.crypto.generators.Argon2BytesGenerator
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KDF
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.Argon2
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.Argon2].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Argon2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.Argon2
    signature: '[com.jcraft.jsch.bc.Argon2].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.HMACRIPEMD160OpenSSH
      static: false
      superClass: com.jcraft.jsch.bc.HMACRIPEMD160
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[com.jcraft.jsch.bc.HMACRIPEMD160OpenSSH].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMACRIPEMD160OpenSSH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.HMACRIPEMD160OpenSSH
    signature: '[com.jcraft.jsch.bc.HMACRIPEMD160OpenSSH].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.bc.TwofishCTR
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.bc.Twofish192CTR].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish192CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.Twofish192CTR].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.Twofish192CTR
      static: false
      superClass: com.jcraft.jsch.bc.TwofishCTR
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.Twofish192CTR].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish192CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.Twofish192CTR
    signature: '[com.jcraft.jsch.bc.Twofish192CTR].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.bc.SignatureEd25519].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEd25519.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.bc.SignatureEd25519].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.bc.SignatureEd25519].getAlgo()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEd25519.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.bc.SignatureEd25519].getAlgo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.bc.SignatureEd25519].getKeylen()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEd25519.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.SignatureEd25519].getKeylen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.SignatureEd25519
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.SignatureEd25519].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEd25519.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.SignatureEd25519
    signature: '[com.jcraft.jsch.bc.SignatureEd25519].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - org.bouncycastle.crypto.Digest
      - boolean
      - org.bouncycastle.crypto.macs.HMac
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.bc.HMAC].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMAC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.HMAC].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,int)
      Src: com.jcraft.jsch.bc.HMAC:50,1
    - Dst: '[org.bouncycastle.crypto.params.KeyParameter].<init>(com.jcraft.jsch.bc.HMAC,int,com.jcraft.jsch.bc.HMAC)'
      Src: com.jcraft.jsch.bc.HMAC:53,1
    - Dst: '[org.bouncycastle.crypto.macs.HMac].<init>(org.bouncycastle.crypto.Digest)'
      Src: com.jcraft.jsch.bc.HMAC:54,1
    - Dst: '[org.bouncycastle.crypto.macs.HMac].init(org.bouncycastle.crypto.params.KeyParameter)'
      Src: com.jcraft.jsch.bc.HMAC:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - org.bouncycastle.crypto.Digest
      - boolean
      - org.bouncycastle.crypto.macs.HMac
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.bc.HMAC].init(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMAC.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.macs.HMac].<init>(org.bouncycastle.crypto.Digest)'
    - '[org.bouncycastle.crypto.macs.HMac].init(org.bouncycastle.crypto.params.KeyParameter)'
    - System.arraycopy(byte[],int,byte[],int,int)
    - '[org.bouncycastle.crypto.params.KeyParameter].<init>(com.jcraft.jsch.bc.HMAC,int,com.jcraft.jsch.bc.HMAC)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.HMAC].init(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.bc.HMAC].update(byte[],int,int)'
      Src: com.jcraft.jsch.bc.HMAC:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - org.bouncycastle.crypto.Digest
      - boolean
      - org.bouncycastle.crypto.macs.HMac
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: '[com.jcraft.jsch.bc.HMAC].update(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMAC.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.bc.HMAC].update(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.HMAC].update(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.crypto.macs.HMac].update(byte,int,int)'
      Src: com.jcraft.jsch.bc.HMAC:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - org.bouncycastle.crypto.Digest
      - boolean
      - org.bouncycastle.crypto.macs.HMac
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - foo
    - s
    - l
    argTypes:
    - byte
    - int
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[com.jcraft.jsch.bc.HMAC].update(byte,int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMAC.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.macs.HMac].update(byte,int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.HMAC].update(byte,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.crypto.macs.HMac].doFinal(byte[],int)'
      Src: com.jcraft.jsch.bc.HMAC:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - org.bouncycastle.crypto.Digest
      - boolean
      - org.bouncycastle.crypto.macs.HMac
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - offset
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[com.jcraft.jsch.bc.HMAC].doFinal(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMAC.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.macs.HMac].doFinal(byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.HMAC].doFinal(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - org.bouncycastle.crypto.Digest
      - boolean
      - org.bouncycastle.crypto.macs.HMac
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[com.jcraft.jsch.bc.HMAC].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMAC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.bc.HMAC].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - org.bouncycastle.crypto.Digest
      - boolean
      - org.bouncycastle.crypto.macs.HMac
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[com.jcraft.jsch.bc.HMAC].isEtM()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMAC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.bc.HMAC].isEtM()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - org.bouncycastle.crypto.Digest
      - boolean
      - org.bouncycastle.crypto.macs.HMac
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.MAC
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.HMAC
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.HMAC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMAC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.HMAC
    signature: '[com.jcraft.jsch.bc.HMAC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKeyPairGenerator].<init>()'
      Src: com.jcraft.jsch.bc.SNTRUP761:47,1
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: com.jcraft.jsch.bc.SNTRUP761:48,1
    - Dst: '[com.jcraft.jsch.bc.SNTRUP761].sntrup761()'
      Src: com.jcraft.jsch.bc.SNTRUP761:48,1
    - Dst: '[org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKeyGenerationParameters].<init>(java.security.SecureRandom,org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeParameters)'
      Src: com.jcraft.jsch.bc.SNTRUP761:48,1
    - Dst: '[org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKeyPairGenerator].init(org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKeyGenerationParameters)'
      Src: com.jcraft.jsch.bc.SNTRUP761:48,1
    - Dst: '[org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKeyPairGenerator].generateKeyPair()'
      Src: com.jcraft.jsch.bc.SNTRUP761:49,1
    - Dst: '[com.jcraft.jsch.bc.SNTRUP761].getPrivate()'
      Src: com.jcraft.jsch.bc.SNTRUP761:50,1
    - Dst: '[org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMExtractor].<init>(org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimePrivateKeyParameters)'
      Src: com.jcraft.jsch.bc.SNTRUP761:50,1
    - Dst: '[com.jcraft.jsch.bc.SNTRUP761].getPublic()'
      Src: com.jcraft.jsch.bc.SNTRUP761:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMExtractor
      - org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimePublicKeyParameters
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: '[com.jcraft.jsch.bc.SNTRUP761].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SNTRUP761.java
    functionUses: 0
    functionsReached:
    - '[java.security.SecureRandom].<init>()'
    - '[com.jcraft.jsch.bc.SNTRUP761].sntrup761()'
    - '[org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKeyPairGenerator].generateKeyPair()'
    - '[org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKeyGenerationParameters].<init>(java.security.SecureRandom,org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeParameters)'
    - '[org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKeyPairGenerator].init(org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKeyGenerationParameters)'
    - '[com.jcraft.jsch.bc.SNTRUP761].getPublic()'
    - '[com.jcraft.jsch.bc.SNTRUP761].getPrivate()'
    - '[org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMExtractor].<init>(org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimePrivateKeyParameters)'
    - '[org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKeyPairGenerator].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.SNTRUP761].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimePublicKeyParameters].getEncoded()'
      Src: com.jcraft.jsch.bc.SNTRUP761:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMExtractor
      - org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimePublicKeyParameters
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[com.jcraft.jsch.bc.SNTRUP761].getPublicKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SNTRUP761.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimePublicKeyParameters].getEncoded()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.bc.SNTRUP761].getPublicKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMExtractor].extractSecret(byte[])'
      Src: com.jcraft.jsch.bc.SNTRUP761:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMExtractor
      - org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimePublicKeyParameters
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encapsulation
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[com.jcraft.jsch.bc.SNTRUP761].decapsulate(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SNTRUP761.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMExtractor].extractSecret(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.bc.SNTRUP761].decapsulate(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SNTRUPrimeParameters.sntrup761.getSessionKeySize()
      Src: com.jcraft.jsch.bc.SNTRUP761:69,1
    - Dst: SNTRUPrimeParameters.class.getDeclaredConstructor()
      Src: com.jcraft.jsch.bc.SNTRUP761:73,1
    - Dst: '[com.jcraft.jsch.bc.SNTRUP761].setAccessible(boolean)'
      Src: com.jcraft.jsch.bc.SNTRUP761:75,1
    - Dst: '[com.jcraft.jsch.bc.SNTRUP761].newInstance(String,int,int,int,int,int,int,int,int)'
      Src: com.jcraft.jsch.bc.SNTRUP761:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMExtractor
      - org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimePublicKeyParameters
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeParameters
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: '[com.jcraft.jsch.bc.SNTRUP761].sntrup761()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SNTRUP761.java
    functionUses: 1
    functionsReached:
    - SNTRUPrimeParameters.sntrup761.getSessionKeySize()
    - SNTRUPrimeParameters.class.getDeclaredConstructor()
    - '[com.jcraft.jsch.bc.SNTRUP761].newInstance(String,int,int,int,int,int,int,int,int)'
    - '[com.jcraft.jsch.bc.SNTRUP761].setAccessible(boolean)'
    linkageType: ''
    returnType: org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeParameters
    signature: '[com.jcraft.jsch.bc.SNTRUP761].sntrup761()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMExtractor
      - org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimePublicKeyParameters
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.SNTRUP761
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.SNTRUP761].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SNTRUP761.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.SNTRUP761
    signature: '[com.jcraft.jsch.bc.SNTRUP761].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.HMACRIPEMD160ETM
      static: false
      superClass: com.jcraft.jsch.bc.HMACRIPEMD160
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.bc.HMACRIPEMD160ETM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMACRIPEMD160ETM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.HMACRIPEMD160ETM
    signature: '[com.jcraft.jsch.bc.HMACRIPEMD160ETM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.asn1.ASN1].<init>(byte[])'
      Src: com.jcraft.jsch.bc.SCrypt:46,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
      Src: com.jcraft.jsch.bc.SCrypt:47,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.bc.SCrypt:48,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getContents()'
      Src: com.jcraft.jsch.bc.SCrypt:50,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.bc.SCrypt:52,1
    - Dst: contents[0].isOCTETSTRING()
      Src: com.jcraft.jsch.bc.SCrypt:54,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.bc.SCrypt:55,1
    - Dst: contents[1].isINTEGER()
      Src: com.jcraft.jsch.bc.SCrypt:57,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.bc.SCrypt:58,1
    - Dst: contents[2].isINTEGER()
      Src: com.jcraft.jsch.bc.SCrypt:60,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.bc.SCrypt:61,1
    - Dst: contents[3].isINTEGER()
      Src: com.jcraft.jsch.bc.SCrypt:63,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.bc.SCrypt:64,1
    - Dst: contents[4].isINTEGER()
      Src: com.jcraft.jsch.bc.SCrypt:66,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.bc.SCrypt:67,1
    - Dst: contents[0].getContent()
      Src: com.jcraft.jsch.bc.SCrypt:70,1
    - Dst: contents[1].getContent()
      Src: com.jcraft.jsch.bc.SCrypt:71,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].parseASN1IntegerAsInt(com.jcraft.jsch.bc.SCrypt)'
      Src: com.jcraft.jsch.bc.SCrypt:71,1
    - Dst: contents[2].getContent()
      Src: com.jcraft.jsch.bc.SCrypt:72,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].parseASN1IntegerAsInt(com.jcraft.jsch.bc.SCrypt)'
      Src: com.jcraft.jsch.bc.SCrypt:72,1
    - Dst: contents[3].getContent()
      Src: com.jcraft.jsch.bc.SCrypt:73,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].parseASN1IntegerAsInt(com.jcraft.jsch.bc.SCrypt)'
      Src: com.jcraft.jsch.bc.SCrypt:73,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.bc.SCrypt)'
      Src: com.jcraft.jsch.bc.SCrypt:78,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.bc.SCrypt)'
      Src: com.jcraft.jsch.bc.SCrypt:79,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KDF
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - asn1
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 81
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 81
    functionName: '[com.jcraft.jsch.bc.SCrypt].initWithASN1(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SCrypt.java
    functionUses: 0
    functionsReached:
    - contents[3].isINTEGER()
    - contents[0].isOCTETSTRING()
    - contents[1].isINTEGER()
    - contents[2].isINTEGER()
    - contents[0].getContent()
    - '[com.jcraft.jsch.asn1.ASN1].<init>(byte[])'
    - contents[3].getContent()
    - '[com.jcraft.jsch.JSchException].<init>(String,com.jcraft.jsch.bc.SCrypt)'
    - '[com.jcraft.jsch.asn1.ASN1].parseASN1IntegerAsInt(com.jcraft.jsch.bc.SCrypt)'
    - contents[1].getContent()
    - contents[2].getContent()
    - '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
    - contents[4].isINTEGER()
    - '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
    - '[com.jcraft.jsch.asn1.ASN1].getContents()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.SCrypt].initWithASN1(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: org.bouncycastle.crypto.generators.SCrypt.generate(byte[],byte[],int,int,int,int)
      Src: com.jcraft.jsch.bc.SCrypt:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KDF
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pass
    - size
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: '[com.jcraft.jsch.bc.SCrypt].getKey(byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SCrypt.java
    functionUses: 0
    functionsReached:
    - org.bouncycastle.crypto.generators.SCrypt.generate(byte[],byte[],int,int,int,int)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.bc.SCrypt].getKey(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - byte[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KDF
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.SCrypt
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.SCrypt].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SCrypt.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.SCrypt
    signature: '[com.jcraft.jsch.bc.SCrypt].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.bc.TwofishCTR
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.bc.Twofish256CTR].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish256CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.Twofish256CTR].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.Twofish256CTR
      static: false
      superClass: com.jcraft.jsch.bc.TwofishCTR
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.Twofish256CTR].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish256CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.Twofish256CTR
    signature: '[com.jcraft.jsch.bc.Twofish256CTR].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.crypto.digests.RIPEMD160Digest].<init>()'
      Src: com.jcraft.jsch.bc.HMACRIPEMD160:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.HMACRIPEMD160
      static: false
      superClass: com.jcraft.jsch.jce.HMAC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: '[com.jcraft.jsch.bc.HMACRIPEMD160].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMACRIPEMD160.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.digests.RIPEMD160Digest].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.bc.HMACRIPEMD160
    signature: '[com.jcraft.jsch.bc.HMACRIPEMD160].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyPairGenerator].<init>()'
      Src: com.jcraft.jsch.bc.MLKEM:46,1
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: com.jcraft.jsch.bc.MLKEM:47,1
    - Dst: '[org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyGenerationParameters].<init>(java.security.SecureRandom,org.bouncycastle.pqc.crypto.mlkem.MLKEMParameters)'
      Src: com.jcraft.jsch.bc.MLKEM:47,1
    - Dst: '[org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyPairGenerator].init(org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyGenerationParameters)'
      Src: com.jcraft.jsch.bc.MLKEM:47,1
    - Dst: '[org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyPairGenerator].generateKeyPair()'
      Src: com.jcraft.jsch.bc.MLKEM:48,1
    - Dst: '[com.jcraft.jsch.bc.MLKEM].getPrivate()'
      Src: com.jcraft.jsch.bc.MLKEM:49,1
    - Dst: '[org.bouncycastle.pqc.crypto.mlkem.MLKEMExtractor].<init>(org.bouncycastle.pqc.crypto.mlkem.MLKEMPrivateKeyParameters)'
      Src: com.jcraft.jsch.bc.MLKEM:49,1
    - Dst: '[com.jcraft.jsch.bc.MLKEM].getPublic()'
      Src: com.jcraft.jsch.bc.MLKEM:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.bouncycastle.pqc.crypto.mlkem.MLKEMParameters
      - org.bouncycastle.pqc.crypto.mlkem.MLKEMExtractor
      - org.bouncycastle.pqc.crypto.mlkem.MLKEMPublicKeyParameters
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: '[com.jcraft.jsch.bc.MLKEM].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/MLKEM.java
    functionUses: 0
    functionsReached:
    - '[java.security.SecureRandom].<init>()'
    - '[org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyPairGenerator].<init>()'
    - '[org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyPairGenerator].generateKeyPair()'
    - '[com.jcraft.jsch.bc.MLKEM].getPublic()'
    - '[com.jcraft.jsch.bc.MLKEM].getPrivate()'
    - '[org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyPairGenerator].init(org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyGenerationParameters)'
    - '[org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyGenerationParameters].<init>(java.security.SecureRandom,org.bouncycastle.pqc.crypto.mlkem.MLKEMParameters)'
    - '[org.bouncycastle.pqc.crypto.mlkem.MLKEMExtractor].<init>(org.bouncycastle.pqc.crypto.mlkem.MLKEMPrivateKeyParameters)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.MLKEM].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.pqc.crypto.mlkem.MLKEMPublicKeyParameters].getEncoded()'
      Src: com.jcraft.jsch.bc.MLKEM:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.bouncycastle.pqc.crypto.mlkem.MLKEMParameters
      - org.bouncycastle.pqc.crypto.mlkem.MLKEMExtractor
      - org.bouncycastle.pqc.crypto.mlkem.MLKEMPublicKeyParameters
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[com.jcraft.jsch.bc.MLKEM].getPublicKey()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/MLKEM.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.pqc.crypto.mlkem.MLKEMPublicKeyParameters].getEncoded()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.bc.MLKEM].getPublicKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.pqc.crypto.mlkem.MLKEMExtractor].extractSecret(byte[])'
      Src: com.jcraft.jsch.bc.MLKEM:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - org.bouncycastle.pqc.crypto.mlkem.MLKEMParameters
      - org.bouncycastle.pqc.crypto.mlkem.MLKEMExtractor
      - org.bouncycastle.pqc.crypto.mlkem.MLKEMPublicKeyParameters
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encapsulation
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[com.jcraft.jsch.bc.MLKEM].decapsulate(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/MLKEM.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.pqc.crypto.mlkem.MLKEMExtractor].extractSecret(byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.bc.MLKEM].decapsulate(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.bouncycastle.pqc.crypto.mlkem.MLKEMParameters
      - org.bouncycastle.pqc.crypto.mlkem.MLKEMExtractor
      - org.bouncycastle.pqc.crypto.mlkem.MLKEMPublicKeyParameters
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KEM
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.MLKEM
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.MLKEM].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/MLKEM.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.MLKEM
    signature: '[com.jcraft.jsch.bc.MLKEM].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.params.KeyParameter
      - org.bouncycastle.crypto.params.KeyParameter
      - int
      - org.bouncycastle.crypto.macs.Poly1305
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.bc.ChaCha20Poly1305].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/ChaCha20Poly1305.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.ChaCha20Poly1305].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.params.KeyParameter
      - org.bouncycastle.crypto.params.KeyParameter
      - int
      - org.bouncycastle.crypto.macs.Poly1305
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.bc.ChaCha20Poly1305].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/ChaCha20Poly1305.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.ChaCha20Poly1305].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.params.KeyParameter
      - org.bouncycastle.crypto.params.KeyParameter
      - int
      - org.bouncycastle.crypto.macs.Poly1305
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[com.jcraft.jsch.bc.ChaCha20Poly1305].getTagSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/ChaCha20Poly1305.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.ChaCha20Poly1305].getTagSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.bc.ChaCha20Poly1305,int,com.jcraft.jsch.bc.ChaCha20Poly1305)
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:70,1
    - Dst: System.arraycopy(com.jcraft.jsch.bc.ChaCha20Poly1305,int,com.jcraft.jsch.bc.ChaCha20Poly1305,int,int)
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:75,1
    - Dst: System.arraycopy(com.jcraft.jsch.bc.ChaCha20Poly1305,int,com.jcraft.jsch.bc.ChaCha20Poly1305,int,int)
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:76,1
    - Dst: '[org.bouncycastle.crypto.params.KeyParameter].<init>(com.jcraft.jsch.bc.ChaCha20Poly1305,int,com.jcraft.jsch.bc.ChaCha20Poly1305)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:79,1
    - Dst: '[org.bouncycastle.crypto.params.KeyParameter].<init>(com.jcraft.jsch.bc.ChaCha20Poly1305,int,com.jcraft.jsch.bc.ChaCha20Poly1305)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:80,1
    - Dst: '[org.bouncycastle.crypto.engines.ChaChaEngine].<init>()'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:81,1
    - Dst: '[org.bouncycastle.crypto.engines.ChaChaEngine].<init>()'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:82,1
    - Dst: '[org.bouncycastle.crypto.macs.Poly1305].<init>()'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.params.KeyParameter
      - org.bouncycastle.crypto.params.KeyParameter
      - int
      - org.bouncycastle.crypto.macs.Poly1305
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 91
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 91
    functionName: '[com.jcraft.jsch.bc.ChaCha20Poly1305].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/ChaCha20Poly1305.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.bc.ChaCha20Poly1305,int,com.jcraft.jsch.bc.ChaCha20Poly1305)
    - '[org.bouncycastle.crypto.engines.ChaChaEngine].<init>()'
    - '[org.bouncycastle.crypto.params.KeyParameter].<init>(com.jcraft.jsch.bc.ChaCha20Poly1305,int,com.jcraft.jsch.bc.ChaCha20Poly1305)'
    - '[org.bouncycastle.crypto.macs.Poly1305].<init>()'
    - System.arraycopy(com.jcraft.jsch.bc.ChaCha20Poly1305,int,com.jcraft.jsch.bc.ChaCha20Poly1305,int,int)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.ChaCha20Poly1305].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:95,1
    - Dst: '[com.jcraft.jsch.bc.ChaCha20Poly1305].putLong(int,int)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:96,1
    - Dst: '[com.jcraft.jsch.bc.ChaCha20Poly1305].array()'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:98,1
    - Dst: '[org.bouncycastle.crypto.params.ParametersWithIV].<init>(org.bouncycastle.crypto.params.KeyParameter,com.jcraft.jsch.bc.ChaCha20Poly1305,int,com.jcraft.jsch.bc.ChaCha20Poly1305)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:98,1
    - Dst: '[org.bouncycastle.crypto.engines.ChaChaEngine].init(com.jcraft.jsch.bc.ChaCha20Poly1305,org.bouncycastle.crypto.params.ParametersWithIV)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:97,1
    - Dst: '[com.jcraft.jsch.bc.ChaCha20Poly1305].array()'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:100,1
    - Dst: '[org.bouncycastle.crypto.params.ParametersWithIV].<init>(org.bouncycastle.crypto.params.KeyParameter,com.jcraft.jsch.bc.ChaCha20Poly1305,int,com.jcraft.jsch.bc.ChaCha20Poly1305)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:100,1
    - Dst: '[org.bouncycastle.crypto.engines.ChaChaEngine].init(com.jcraft.jsch.bc.ChaCha20Poly1305,org.bouncycastle.crypto.params.ParametersWithIV)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:99,1
    - Dst: '[org.bouncycastle.crypto.engines.ChaChaEngine].processBytes(com.jcraft.jsch.bc.ChaCha20Poly1305,int,com.jcraft.jsch.bc.ChaCha20Poly1305,com.jcraft.jsch.bc.ChaCha20Poly1305,int)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:104,1
    - Dst: '[org.bouncycastle.crypto.params.KeyParameter].<init>(com.jcraft.jsch.bc.ChaCha20Poly1305,int,int)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:105,1
    - Dst: '[org.bouncycastle.crypto.macs.Poly1305].init(org.bouncycastle.crypto.params.KeyParameter)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.params.KeyParameter
      - org.bouncycastle.crypto.params.KeyParameter
      - int
      - org.bouncycastle.crypto.macs.Poly1305
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: '[com.jcraft.jsch.bc.ChaCha20Poly1305].update(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/ChaCha20Poly1305.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].allocate(int)'
    - '[com.jcraft.jsch.bc.ChaCha20Poly1305].array()'
    - '[org.bouncycastle.crypto.macs.Poly1305].init(org.bouncycastle.crypto.params.KeyParameter)'
    - '[org.bouncycastle.crypto.engines.ChaChaEngine].init(com.jcraft.jsch.bc.ChaCha20Poly1305,org.bouncycastle.crypto.params.ParametersWithIV)'
    - '[org.bouncycastle.crypto.params.KeyParameter].<init>(com.jcraft.jsch.bc.ChaCha20Poly1305,int,int)'
    - '[com.jcraft.jsch.bc.ChaCha20Poly1305].putLong(int,int)'
    - '[org.bouncycastle.crypto.engines.ChaChaEngine].processBytes(com.jcraft.jsch.bc.ChaCha20Poly1305,int,com.jcraft.jsch.bc.ChaCha20Poly1305,com.jcraft.jsch.bc.ChaCha20Poly1305,int)'
    - '[org.bouncycastle.crypto.params.ParametersWithIV].<init>(org.bouncycastle.crypto.params.KeyParameter,com.jcraft.jsch.bc.ChaCha20Poly1305,int,com.jcraft.jsch.bc.ChaCha20Poly1305)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.ChaCha20Poly1305].update(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.crypto.engines.ChaChaEngine].processBytes(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.params.KeyParameter
      - org.bouncycastle.crypto.params.KeyParameter
      - int
      - org.bouncycastle.crypto.macs.Poly1305
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '[com.jcraft.jsch.bc.ChaCha20Poly1305].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/ChaCha20Poly1305.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.engines.ChaChaEngine].processBytes(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.ChaCha20Poly1305].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.bc.ChaCha20Poly1305,int,int)
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:119,1
    - Dst: '[org.bouncycastle.crypto.macs.Poly1305].update(byte[],int,int)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:122,1
    - Dst: '[org.bouncycastle.crypto.macs.Poly1305].update(byte[],int,int)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:124,1
    - Dst: '[org.bouncycastle.crypto.macs.Poly1305].doFinal(com.jcraft.jsch.bc.ChaCha20Poly1305,int)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:126,1
    - Dst: '[com.jcraft.jsch.bc.ChaCha20Poly1305].arraysequals(com.jcraft.jsch.bc.ChaCha20Poly1305,com.jcraft.jsch.bc.ChaCha20Poly1305)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:127,1
    - Dst: '[javax.crypto.AEADBadTagException].<init>(String)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:128,1
    - Dst: '[org.bouncycastle.crypto.engines.ChaChaEngine].processBytes(byte[],int,com.jcraft.jsch.bc.ChaCha20Poly1305,byte[],com.jcraft.jsch.bc.ChaCha20Poly1305)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:133,1
    - Dst: '[org.bouncycastle.crypto.engines.ChaChaEngine].processBytes(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:135,1
    - Dst: '[org.bouncycastle.crypto.macs.Poly1305].update(byte[],int,int)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:139,1
    - Dst: '[org.bouncycastle.crypto.macs.Poly1305].doFinal(byte[],int)'
      Src: com.jcraft.jsch.bc.ChaCha20Poly1305:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.params.KeyParameter
      - org.bouncycastle.crypto.params.KeyParameter
      - int
      - org.bouncycastle.crypto.macs.Poly1305
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 142
    functionName: '[com.jcraft.jsch.bc.ChaCha20Poly1305].doFinal(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/ChaCha20Poly1305.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.macs.Poly1305].doFinal(byte[],int)'
    - '[com.jcraft.jsch.bc.ChaCha20Poly1305].arraysequals(com.jcraft.jsch.bc.ChaCha20Poly1305,com.jcraft.jsch.bc.ChaCha20Poly1305)'
    - '[org.bouncycastle.crypto.macs.Poly1305].doFinal(com.jcraft.jsch.bc.ChaCha20Poly1305,int)'
    - '[javax.crypto.AEADBadTagException].<init>(String)'
    - '[org.bouncycastle.crypto.engines.ChaChaEngine].processBytes(byte[],int,com.jcraft.jsch.bc.ChaCha20Poly1305,byte[],com.jcraft.jsch.bc.ChaCha20Poly1305)'
    - '[org.bouncycastle.crypto.engines.ChaChaEngine].processBytes(byte[],int,int,byte[],int)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.bc.ChaCha20Poly1305,int,int)
    - '[org.bouncycastle.crypto.macs.Poly1305].update(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.ChaCha20Poly1305].doFinal(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.params.KeyParameter
      - org.bouncycastle.crypto.params.KeyParameter
      - int
      - org.bouncycastle.crypto.macs.Poly1305
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: '[com.jcraft.jsch.bc.ChaCha20Poly1305].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/ChaCha20Poly1305.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.bc.ChaCha20Poly1305].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.params.KeyParameter
      - org.bouncycastle.crypto.params.KeyParameter
      - int
      - org.bouncycastle.crypto.macs.Poly1305
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: '[com.jcraft.jsch.bc.ChaCha20Poly1305].isAEAD()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/ChaCha20Poly1305.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.bc.ChaCha20Poly1305].isAEAD()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.params.KeyParameter
      - org.bouncycastle.crypto.params.KeyParameter
      - int
      - org.bouncycastle.crypto.macs.Poly1305
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: '[com.jcraft.jsch.bc.ChaCha20Poly1305].isChaCha20()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/ChaCha20Poly1305.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.bc.ChaCha20Poly1305].isChaCha20()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.params.KeyParameter
      - org.bouncycastle.crypto.params.KeyParameter
      - int
      - org.bouncycastle.crypto.macs.Poly1305
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: '[com.jcraft.jsch.bc.ChaCha20Poly1305].arraysequals(byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/ChaCha20Poly1305.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.bc.ChaCha20Poly1305].arraysequals(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.engines.ChaChaEngine
      - org.bouncycastle.crypto.params.KeyParameter
      - org.bouncycastle.crypto.params.KeyParameter
      - int
      - org.bouncycastle.crypto.macs.Poly1305
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.ChaCha20Poly1305
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.ChaCha20Poly1305].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/ChaCha20Poly1305.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.ChaCha20Poly1305
    signature: '[com.jcraft.jsch.bc.ChaCha20Poly1305].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.bc.TwofishCBC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.bc.Twofish256CBC].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish256CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.Twofish256CBC].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.Twofish256CBC
      static: false
      superClass: com.jcraft.jsch.bc.TwofishCBC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.Twofish256CBC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish256CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.Twofish256CBC
    signature: '[com.jcraft.jsch.bc.Twofish256CBC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.bouncycastle.crypto.modes.CTRModeCipher
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.bc.TwofishCTR].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/TwofishCTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.TwofishCTR].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.bc.TwofishCTR,int,com.jcraft.jsch.bc.TwofishCTR)
      Src: com.jcraft.jsch.bc.TwofishCTR:50,1
    - Dst: '[com.jcraft.jsch.bc.TwofishCTR].getBlockSize()'
      Src: com.jcraft.jsch.bc.TwofishCTR:53,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.bc.TwofishCTR,int,com.jcraft.jsch.bc.TwofishCTR)
      Src: com.jcraft.jsch.bc.TwofishCTR:56,1
    - Dst: '[org.bouncycastle.crypto.params.ParametersWithIV].<init>(org.bouncycastle.crypto.params.KeyParameter,com.jcraft.jsch.bc.TwofishCTR,int,com.jcraft.jsch.bc.TwofishCTR)'
      Src: com.jcraft.jsch.bc.TwofishCTR:62,1
    - Dst: '[org.bouncycastle.crypto.engines.TwofishEngine].<init>()'
      Src: com.jcraft.jsch.bc.TwofishCTR:63,1
    - Dst: '[org.bouncycastle.crypto.modes.SICBlockCipher].newInstance(org.bouncycastle.crypto.engines.TwofishEngine)'
      Src: com.jcraft.jsch.bc.TwofishCTR:63,1
    - Dst: '[com.jcraft.jsch.bc.TwofishCTR].init(com.jcraft.jsch.bc.TwofishCTR,org.bouncycastle.crypto.params.ParametersWithIV)'
      Src: com.jcraft.jsch.bc.TwofishCTR:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.bouncycastle.crypto.modes.CTRModeCipher
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: '[com.jcraft.jsch.bc.TwofishCTR].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/TwofishCTR.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.modes.SICBlockCipher].newInstance(org.bouncycastle.crypto.engines.TwofishEngine)'
    - '[org.bouncycastle.crypto.engines.TwofishEngine].<init>()'
    - System.arraycopy(byte[],int,com.jcraft.jsch.bc.TwofishCTR,int,com.jcraft.jsch.bc.TwofishCTR)
    - '[org.bouncycastle.crypto.params.ParametersWithIV].<init>(org.bouncycastle.crypto.params.KeyParameter,com.jcraft.jsch.bc.TwofishCTR,int,com.jcraft.jsch.bc.TwofishCTR)'
    - '[com.jcraft.jsch.bc.TwofishCTR].getBlockSize()'
    - '[com.jcraft.jsch.bc.TwofishCTR].init(com.jcraft.jsch.bc.TwofishCTR,org.bouncycastle.crypto.params.ParametersWithIV)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.TwofishCTR].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.crypto.modes.CTRModeCipher].processBytes(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.bc.TwofishCTR:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.bouncycastle.crypto.modes.CTRModeCipher
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[com.jcraft.jsch.bc.TwofishCTR].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/TwofishCTR.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.modes.CTRModeCipher].processBytes(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.TwofishCTR].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.bouncycastle.crypto.modes.CTRModeCipher
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[com.jcraft.jsch.bc.TwofishCTR].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/TwofishCTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.bc.TwofishCTR].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.bouncycastle.crypto.modes.CTRModeCipher
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.TwofishCTR
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.TwofishCTR].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/TwofishCTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.TwofishCTR
    signature: '[com.jcraft.jsch.bc.TwofishCTR].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.bc.CAST128CBC].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/CAST128CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.CAST128CBC].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[com.jcraft.jsch.bc.CAST128CBC].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/CAST128CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.CAST128CBC].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.bc.CAST128CBC,int,com.jcraft.jsch.bc.CAST128CBC)
      Src: com.jcraft.jsch.bc.CAST128CBC:57,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.bc.CAST128CBC,int,com.jcraft.jsch.bc.CAST128CBC)
      Src: com.jcraft.jsch.bc.CAST128CBC:62,1
    - Dst: '[org.bouncycastle.crypto.params.ParametersWithIV].<init>(org.bouncycastle.crypto.params.KeyParameter,com.jcraft.jsch.bc.CAST128CBC,int,com.jcraft.jsch.bc.CAST128CBC)'
      Src: com.jcraft.jsch.bc.CAST128CBC:68,1
    - Dst: '[org.bouncycastle.crypto.engines.CAST5Engine].<init>()'
      Src: com.jcraft.jsch.bc.CAST128CBC:69,1
    - Dst: '[org.bouncycastle.crypto.modes.CBCBlockCipher].newInstance(org.bouncycastle.crypto.engines.CAST5Engine)'
      Src: com.jcraft.jsch.bc.CAST128CBC:69,1
    - Dst: '[org.bouncycastle.crypto.DefaultBufferedBlockCipher].<init>(com.jcraft.jsch.bc.CAST128CBC)'
      Src: com.jcraft.jsch.bc.CAST128CBC:69,1
    - Dst: '[org.bouncycastle.crypto.DefaultBufferedBlockCipher].init(com.jcraft.jsch.bc.CAST128CBC,org.bouncycastle.crypto.params.ParametersWithIV)'
      Src: com.jcraft.jsch.bc.CAST128CBC:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 75
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 75
    functionName: '[com.jcraft.jsch.bc.CAST128CBC].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/CAST128CBC.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.DefaultBufferedBlockCipher].<init>(com.jcraft.jsch.bc.CAST128CBC)'
    - '[org.bouncycastle.crypto.params.ParametersWithIV].<init>(org.bouncycastle.crypto.params.KeyParameter,com.jcraft.jsch.bc.CAST128CBC,int,com.jcraft.jsch.bc.CAST128CBC)'
    - '[org.bouncycastle.crypto.DefaultBufferedBlockCipher].init(com.jcraft.jsch.bc.CAST128CBC,org.bouncycastle.crypto.params.ParametersWithIV)'
    - '[org.bouncycastle.crypto.engines.CAST5Engine].<init>()'
    - '[org.bouncycastle.crypto.modes.CBCBlockCipher].newInstance(org.bouncycastle.crypto.engines.CAST5Engine)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.bc.CAST128CBC,int,com.jcraft.jsch.bc.CAST128CBC)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.CAST128CBC].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.crypto.BufferedBlockCipher].processBytes(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.bc.CAST128CBC:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.bc.CAST128CBC].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/CAST128CBC.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.BufferedBlockCipher].processBytes(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.CAST128CBC].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[com.jcraft.jsch.bc.CAST128CBC].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/CAST128CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.bc.CAST128CBC].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.CAST128CBC
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.CAST128CBC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/CAST128CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.CAST128CBC
    signature: '[com.jcraft.jsch.bc.CAST128CBC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.bouncycastle.crypto.Signer
      classPublic: false
      concrete: false
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '[com.jcraft.jsch.bc.SignatureEdDSA].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEdDSA.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.bc.SignatureEdDSA].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.bouncycastle.crypto.Signer
      classPublic: false
      concrete: false
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '[com.jcraft.jsch.bc.SignatureEdDSA].getAlgo()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEdDSA.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.bc.SignatureEdDSA].getAlgo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.bouncycastle.crypto.Signer
      classPublic: false
      concrete: false
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '[com.jcraft.jsch.bc.SignatureEdDSA].getKeylen()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.SignatureEdDSA].getKeylen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.bc.SignatureEdDSA].getAlgo()'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:54,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:54,1
    - Dst: '[com.jcraft.jsch.bc.SignatureEdDSA].getAlgo()'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:54,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:54,1
    - Dst: '[com.jcraft.jsch.bc.SignatureEdDSA].getAlgo()'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:55,1
    - Dst: '[java.security.NoSuchAlgorithmException].<init>(String)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:55,1
    - Dst: '[com.jcraft.jsch.bc.SignatureEdDSA].getAlgo()'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:58,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:58,1
    - Dst: '[org.bouncycastle.crypto.signers.Ed25519Signer].<init>()'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:59,1
    - Dst: '[org.bouncycastle.crypto.signers.Ed448Signer].<init>()'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.bouncycastle.crypto.Signer
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: '[com.jcraft.jsch.bc.SignatureEdDSA].init()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEdDSA.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.signers.Ed25519Signer].<init>()'
    - '[java.security.NoSuchAlgorithmException].<init>(String)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.bc.SignatureEdDSA].getAlgo()'
    - '[org.bouncycastle.crypto.signers.Ed448Signer].<init>()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.SignatureEdDSA].init()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.bc.SignatureEdDSA].getAlgo()'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:68,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:68,1
    - Dst: '[org.bouncycastle.crypto.params.Ed25519PublicKeyParameters].<init>(byte[],int)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:69,1
    - Dst: '[org.bouncycastle.crypto.Signer].init(boolean,org.bouncycastle.crypto.params.Ed25519PublicKeyParameters)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:70,1
    - Dst: '[org.bouncycastle.crypto.params.Ed448PublicKeyParameters].<init>(byte[],int)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:72,1
    - Dst: '[org.bouncycastle.crypto.Signer].init(boolean,org.bouncycastle.crypto.params.Ed448PublicKeyParameters)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:73,1
    - Dst: '[java.security.InvalidKeyException].<init>(com.jcraft.jsch.bc.SignatureEdDSA)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - org.bouncycastle.crypto.Signer
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - y_arr
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: '[com.jcraft.jsch.bc.SignatureEdDSA].setPubKey(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEdDSA.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.Signer].init(boolean,org.bouncycastle.crypto.params.Ed448PublicKeyParameters)'
    - '[org.bouncycastle.crypto.params.Ed448PublicKeyParameters].<init>(byte[],int)'
    - '[java.security.InvalidKeyException].<init>(com.jcraft.jsch.bc.SignatureEdDSA)'
    - '[org.bouncycastle.crypto.Signer].init(boolean,org.bouncycastle.crypto.params.Ed25519PublicKeyParameters)'
    - '[org.bouncycastle.crypto.params.Ed25519PublicKeyParameters].<init>(byte[],int)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.bc.SignatureEdDSA].getAlgo()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.SignatureEdDSA].setPubKey(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.bc.SignatureEdDSA].getAlgo()'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:83,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:83,1
    - Dst: '[org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters].<init>(byte[],int)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:84,1
    - Dst: '[org.bouncycastle.crypto.Signer].init(boolean,org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:85,1
    - Dst: '[org.bouncycastle.crypto.params.Ed448PrivateKeyParameters].<init>(byte[],int)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:87,1
    - Dst: '[org.bouncycastle.crypto.Signer].init(boolean,org.bouncycastle.crypto.params.Ed448PrivateKeyParameters)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:88,1
    - Dst: '[java.security.InvalidKeyException].<init>(com.jcraft.jsch.bc.SignatureEdDSA)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - org.bouncycastle.crypto.Signer
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: '[com.jcraft.jsch.bc.SignatureEdDSA].setPrvKey(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEdDSA.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.params.Ed448PrivateKeyParameters].<init>(byte[],int)'
    - '[org.bouncycastle.crypto.Signer].init(boolean,org.bouncycastle.crypto.params.Ed448PrivateKeyParameters)'
    - '[org.bouncycastle.crypto.Signer].init(boolean,org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters)'
    - '[java.security.InvalidKeyException].<init>(com.jcraft.jsch.bc.SignatureEdDSA)'
    - '[String].equals(String)'
    - '[org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters].<init>(byte[],int)'
    - '[com.jcraft.jsch.bc.SignatureEdDSA].getAlgo()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.SignatureEdDSA].setPrvKey(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.crypto.Signer].generateSignature()'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:98,1
    - Dst: '[java.security.SignatureException].<init>(com.jcraft.jsch.bc.SignatureEdDSA)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.bouncycastle.crypto.Signer
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: '[com.jcraft.jsch.bc.SignatureEdDSA].sign()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEdDSA.java
    functionUses: 0
    functionsReached:
    - '[java.security.SignatureException].<init>(com.jcraft.jsch.bc.SignatureEdDSA)'
    - '[org.bouncycastle.crypto.Signer].generateSignature()'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.bc.SignatureEdDSA].sign()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.crypto.Signer].update(byte[],int,com.jcraft.jsch.bc.SignatureEdDSA)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:107,1
    - Dst: '[java.security.SignatureException].<init>(com.jcraft.jsch.bc.SignatureEdDSA)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - org.bouncycastle.crypto.Signer
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - foo
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: '[com.jcraft.jsch.bc.SignatureEdDSA].update(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEdDSA.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.Signer].update(byte[],int,com.jcraft.jsch.bc.SignatureEdDSA)'
    - '[java.security.SignatureException].<init>(com.jcraft.jsch.bc.SignatureEdDSA)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.SignatureEdDSA].update(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.Buffer].<init>(byte[])'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:118,1
    - Dst: '[String].<init>(byte[],com.jcraft.jsch.bc.SignatureEdDSA)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:120,1
    - Dst: '[com.jcraft.jsch.bc.SignatureEdDSA].getName()'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:121,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:121,1
    - Dst: '[com.jcraft.jsch.Buffer].getInt()'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:122,1
    - Dst: '[com.jcraft.jsch.Buffer].getOffSet()'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:123,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.bc.SignatureEdDSA,int,int)
      Src: com.jcraft.jsch.bc.SignatureEdDSA:125,1
    - Dst: '[org.bouncycastle.crypto.Signer].verifySignature(com.jcraft.jsch.bc.SignatureEdDSA)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:130,1
    - Dst: '[java.security.SignatureException].<init>(com.jcraft.jsch.bc.SignatureEdDSA)'
      Src: com.jcraft.jsch.bc.SignatureEdDSA:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - org.bouncycastle.crypto.Signer
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sig
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 134
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 134
    functionName: '[com.jcraft.jsch.bc.SignatureEdDSA].verify(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEdDSA.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.bc.SignatureEdDSA].getName()'
    - '[java.security.SignatureException].<init>(com.jcraft.jsch.bc.SignatureEdDSA)'
    - '[com.jcraft.jsch.Buffer].getOffSet()'
    - '[com.jcraft.jsch.Buffer].<init>(byte[])'
    - System.arraycopy(byte[],int,com.jcraft.jsch.bc.SignatureEdDSA,int,int)
    - '[org.bouncycastle.crypto.Signer].verifySignature(com.jcraft.jsch.bc.SignatureEdDSA)'
    - '[String].equals(String)'
    - '[com.jcraft.jsch.Buffer].getInt()'
    - '[String].<init>(byte[],com.jcraft.jsch.bc.SignatureEdDSA)'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.bc.SignatureEdDSA].verify(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.bouncycastle.crypto.Signer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.SignatureEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.SignatureEdDSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.SignatureEdDSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.SignatureEdDSA
    signature: '[com.jcraft.jsch.bc.SignatureEdDSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:42,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:42,1
    - Dst: '[java.security.NoSuchAlgorithmException].<init>(String)'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:43,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:48,1
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:49,1
    - Dst: '[org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters].<init>(java.security.SecureRandom)'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:49,1
    - Dst: '[org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters].generatePublicKey()'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:50,1
    - Dst: '[com.jcraft.jsch.bc.KeyPairGenEdDSA].getEncoded()'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:50,1
    - Dst: '[org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters].getEncoded()'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:51,1
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:53,1
    - Dst: '[org.bouncycastle.crypto.params.Ed448PrivateKeyParameters].<init>(java.security.SecureRandom)'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:53,1
    - Dst: '[org.bouncycastle.crypto.params.Ed448PrivateKeyParameters].generatePublicKey()'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:54,1
    - Dst: '[com.jcraft.jsch.bc.KeyPairGenEdDSA].getEncoded()'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:54,1
    - Dst: '[org.bouncycastle.crypto.params.Ed448PrivateKeyParameters].getEncoded()'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KeyPairGenEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - keylen
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: '[com.jcraft.jsch.bc.KeyPairGenEdDSA].init(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters].<init>(java.security.SecureRandom)'
    - '[java.security.SecureRandom].<init>()'
    - '[org.bouncycastle.crypto.params.Ed448PrivateKeyParameters].getEncoded()'
    - '[org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters].generatePublicKey()'
    - '[org.bouncycastle.crypto.params.Ed448PrivateKeyParameters].generatePublicKey()'
    - '[java.security.NoSuchAlgorithmException].<init>(String)'
    - '[String].equals(String)'
    - '[org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters].getEncoded()'
    - '[com.jcraft.jsch.bc.KeyPairGenEdDSA].getEncoded()'
    - '[org.bouncycastle.crypto.params.Ed448PrivateKeyParameters].<init>(java.security.SecureRandom)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.KeyPairGenEdDSA].init(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[com.jcraft.jsch.bc.KeyPairGenEdDSA].getPrv()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.bc.KeyPairGenEdDSA].getPrv()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[com.jcraft.jsch.bc.KeyPairGenEdDSA].getPub()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.bc.KeyPairGenEdDSA].getPub()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:71,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:71,1
    - Dst: '[java.security.NoSuchAlgorithmException].<init>(String)'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:72,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:76,1
    - Dst: '[org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters].<init>(byte[])'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:77,1
    - Dst: '[org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters].generatePublicKey()'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:78,1
    - Dst: '[com.jcraft.jsch.bc.KeyPairGenEdDSA].getEncoded()'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:78,1
    - Dst: '[org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters].getEncoded()'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:79,1
    - Dst: '[org.bouncycastle.crypto.params.Ed448PrivateKeyParameters].<init>(byte[])'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:81,1
    - Dst: '[org.bouncycastle.crypto.params.Ed448PrivateKeyParameters].generatePublicKey()'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:82,1
    - Dst: '[com.jcraft.jsch.bc.KeyPairGenEdDSA].getEncoded()'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:82,1
    - Dst: '[org.bouncycastle.crypto.params.Ed448PrivateKeyParameters].getEncoded()'
      Src: com.jcraft.jsch.bc.KeyPairGenEdDSA:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.KeyPairGenEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - prv
    argTypes:
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.bc.KeyPairGenEdDSA].init(String,byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.params.Ed448PrivateKeyParameters].<init>(byte[])'
    - '[org.bouncycastle.crypto.params.Ed448PrivateKeyParameters].getEncoded()'
    - '[org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters].generatePublicKey()'
    - '[org.bouncycastle.crypto.params.Ed448PrivateKeyParameters].generatePublicKey()'
    - '[java.security.NoSuchAlgorithmException].<init>(String)'
    - '[String].equals(String)'
    - '[org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters].<init>(byte[])'
    - '[org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters].getEncoded()'
    - '[com.jcraft.jsch.bc.KeyPairGenEdDSA].getEncoded()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.KeyPairGenEdDSA].init(String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.KeyPairGenEdDSA
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.KeyPairGenEdDSA
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.KeyPairGenEdDSA].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/KeyPairGenEdDSA.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.KeyPairGenEdDSA
    signature: '[com.jcraft.jsch.bc.KeyPairGenEdDSA].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[com.jcraft.jsch.bc.SEEDCBC].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SEEDCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.SEEDCBC].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[com.jcraft.jsch.bc.SEEDCBC].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SEEDCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.SEEDCBC].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.bc.SEEDCBC,int,com.jcraft.jsch.bc.SEEDCBC)
      Src: com.jcraft.jsch.bc.SEEDCBC:57,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.bc.SEEDCBC,int,com.jcraft.jsch.bc.SEEDCBC)
      Src: com.jcraft.jsch.bc.SEEDCBC:62,1
    - Dst: '[org.bouncycastle.crypto.params.ParametersWithIV].<init>(org.bouncycastle.crypto.params.KeyParameter,com.jcraft.jsch.bc.SEEDCBC,int,com.jcraft.jsch.bc.SEEDCBC)'
      Src: com.jcraft.jsch.bc.SEEDCBC:68,1
    - Dst: '[org.bouncycastle.crypto.engines.SEEDEngine].<init>()'
      Src: com.jcraft.jsch.bc.SEEDCBC:69,1
    - Dst: '[org.bouncycastle.crypto.modes.CBCBlockCipher].newInstance(org.bouncycastle.crypto.engines.SEEDEngine)'
      Src: com.jcraft.jsch.bc.SEEDCBC:69,1
    - Dst: '[org.bouncycastle.crypto.DefaultBufferedBlockCipher].<init>(com.jcraft.jsch.bc.SEEDCBC)'
      Src: com.jcraft.jsch.bc.SEEDCBC:69,1
    - Dst: '[org.bouncycastle.crypto.DefaultBufferedBlockCipher].init(com.jcraft.jsch.bc.SEEDCBC,org.bouncycastle.crypto.params.ParametersWithIV)'
      Src: com.jcraft.jsch.bc.SEEDCBC:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 75
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 75
    functionName: '[com.jcraft.jsch.bc.SEEDCBC].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SEEDCBC.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.engines.SEEDEngine].<init>()'
    - '[org.bouncycastle.crypto.DefaultBufferedBlockCipher].<init>(com.jcraft.jsch.bc.SEEDCBC)'
    - '[org.bouncycastle.crypto.DefaultBufferedBlockCipher].init(com.jcraft.jsch.bc.SEEDCBC,org.bouncycastle.crypto.params.ParametersWithIV)'
    - '[org.bouncycastle.crypto.modes.CBCBlockCipher].newInstance(org.bouncycastle.crypto.engines.SEEDEngine)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.bc.SEEDCBC,int,com.jcraft.jsch.bc.SEEDCBC)
    - '[org.bouncycastle.crypto.params.ParametersWithIV].<init>(org.bouncycastle.crypto.params.KeyParameter,com.jcraft.jsch.bc.SEEDCBC,int,com.jcraft.jsch.bc.SEEDCBC)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.SEEDCBC].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.crypto.BufferedBlockCipher].processBytes(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.bc.SEEDCBC:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.bc.SEEDCBC].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SEEDCBC.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.BufferedBlockCipher].processBytes(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.SEEDCBC].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[com.jcraft.jsch.bc.SEEDCBC].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SEEDCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.bc.SEEDCBC].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.SEEDCBC
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.SEEDCBC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SEEDCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.SEEDCBC
    signature: '[com.jcraft.jsch.bc.SEEDCBC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.bc.TwofishCTR
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.bc.Twofish128CTR].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish128CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.Twofish128CTR].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.Twofish128CTR
      static: false
      superClass: com.jcraft.jsch.bc.TwofishCTR
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.Twofish128CTR].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish128CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.Twofish128CTR
    signature: '[com.jcraft.jsch.bc.Twofish128CTR].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.XDH:45,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.XDH:45,1
    - Dst: '[java.security.NoSuchAlgorithmException].<init>(String)'
      Src: com.jcraft.jsch.bc.XDH:46,1
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.XDH:50,1
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: com.jcraft.jsch.bc.XDH:51,1
    - Dst: '[org.bouncycastle.crypto.params.X25519PrivateKeyParameters].<init>(java.security.SecureRandom)'
      Src: com.jcraft.jsch.bc.XDH:51,1
    - Dst: '[org.bouncycastle.crypto.params.X25519PrivateKeyParameters].generatePublicKey()'
      Src: com.jcraft.jsch.bc.XDH:52,1
    - Dst: '[com.jcraft.jsch.bc.XDH].getEncoded()'
      Src: com.jcraft.jsch.bc.XDH:52,1
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: com.jcraft.jsch.bc.XDH:55,1
    - Dst: '[org.bouncycastle.crypto.params.X448PrivateKeyParameters].<init>(java.security.SecureRandom)'
      Src: com.jcraft.jsch.bc.XDH:55,1
    - Dst: '[org.bouncycastle.crypto.params.X448PrivateKeyParameters].generatePublicKey()'
      Src: com.jcraft.jsch.bc.XDH:56,1
    - Dst: '[com.jcraft.jsch.bc.XDH].getEncoded()'
      Src: com.jcraft.jsch.bc.XDH:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - Object
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - keylen
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: '[com.jcraft.jsch.bc.XDH].init(String,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/XDH.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.params.X25519PrivateKeyParameters].generatePublicKey()'
    - '[com.jcraft.jsch.bc.XDH].getEncoded()'
    - '[java.security.SecureRandom].<init>()'
    - '[org.bouncycastle.crypto.params.X448PrivateKeyParameters].<init>(java.security.SecureRandom)'
    - '[java.security.NoSuchAlgorithmException].<init>(String)'
    - '[org.bouncycastle.crypto.params.X448PrivateKeyParameters].generatePublicKey()'
    - '[org.bouncycastle.crypto.params.X25519PrivateKeyParameters].<init>(java.security.SecureRandom)'
    - '[String].equals(String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.XDH].init(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - Object
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[com.jcraft.jsch.bc.XDH].getQ()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/XDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.bc.XDH].getQ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: com.jcraft.jsch.bc.XDH:69,1
    - Dst: '[org.bouncycastle.crypto.params.X25519PublicKeyParameters].<init>(byte[],int)'
      Src: com.jcraft.jsch.bc.XDH:72,1
    - Dst: '[java.security.InvalidKeyException].<init>(com.jcraft.jsch.bc.XDH)'
      Src: com.jcraft.jsch.bc.XDH:74,1
    - Dst: '[Object].generateSecret(org.bouncycastle.crypto.params.X25519PublicKeyParameters,com.jcraft.jsch.bc.XDH,int)'
      Src: com.jcraft.jsch.bc.XDH:79,1
    - Dst: '[IllegalStateException].<init>(com.jcraft.jsch.bc.XDH)'
      Src: com.jcraft.jsch.bc.XDH:81,1
    - Dst: '[org.bouncycastle.crypto.params.X448PublicKeyParameters].<init>(byte[],int)'
      Src: com.jcraft.jsch.bc.XDH:86,1
    - Dst: '[java.security.InvalidKeyException].<init>(com.jcraft.jsch.bc.XDH)'
      Src: com.jcraft.jsch.bc.XDH:88,1
    - Dst: '[Object].generateSecret(org.bouncycastle.crypto.params.X448PublicKeyParameters,com.jcraft.jsch.bc.XDH,int)'
      Src: com.jcraft.jsch.bc.XDH:93,1
    - Dst: '[IllegalStateException].<init>(com.jcraft.jsch.bc.XDH)'
      Src: com.jcraft.jsch.bc.XDH:95,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - Object
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - Q
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 99
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 99
    functionName: '[com.jcraft.jsch.bc.XDH].getSecret(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/XDH.java
    functionUses: 0
    functionsReached:
    - '[java.security.InvalidKeyException].<init>(com.jcraft.jsch.bc.XDH)'
    - '[Object].generateSecret(org.bouncycastle.crypto.params.X448PublicKeyParameters,com.jcraft.jsch.bc.XDH,int)'
    - '[org.bouncycastle.crypto.params.X448PublicKeyParameters].<init>(byte[],int)'
    - '[String].equals(String)'
    - '[org.bouncycastle.crypto.params.X25519PublicKeyParameters].<init>(byte[],int)'
    - '[IllegalStateException].<init>(com.jcraft.jsch.bc.XDH)'
    - '[Object].generateSecret(org.bouncycastle.crypto.params.X25519PublicKeyParameters,com.jcraft.jsch.bc.XDH,int)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.bc.XDH].getSecret(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - Object
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - u
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[com.jcraft.jsch.bc.XDH].validate(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/XDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.bc.XDH].validate(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - Object
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.XDH
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.XDH
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.XDH].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/XDH.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.XDH
    signature: '[com.jcraft.jsch.bc.XDH].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.modes.CTRModeCipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.bc.CAST128CTR].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/CAST128CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.CAST128CTR].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.modes.CTRModeCipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[com.jcraft.jsch.bc.CAST128CTR].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/CAST128CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.CAST128CTR].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.bc.CAST128CTR,int,com.jcraft.jsch.bc.CAST128CTR)
      Src: com.jcraft.jsch.bc.CAST128CTR:56,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.bc.CAST128CTR,int,com.jcraft.jsch.bc.CAST128CTR)
      Src: com.jcraft.jsch.bc.CAST128CTR:61,1
    - Dst: '[org.bouncycastle.crypto.params.ParametersWithIV].<init>(org.bouncycastle.crypto.params.KeyParameter,com.jcraft.jsch.bc.CAST128CTR,int,com.jcraft.jsch.bc.CAST128CTR)'
      Src: com.jcraft.jsch.bc.CAST128CTR:67,1
    - Dst: '[org.bouncycastle.crypto.engines.CAST5Engine].<init>()'
      Src: com.jcraft.jsch.bc.CAST128CTR:68,1
    - Dst: '[org.bouncycastle.crypto.modes.SICBlockCipher].newInstance(org.bouncycastle.crypto.engines.CAST5Engine)'
      Src: com.jcraft.jsch.bc.CAST128CTR:68,1
    - Dst: '[com.jcraft.jsch.bc.CAST128CTR].init(com.jcraft.jsch.bc.CAST128CTR,org.bouncycastle.crypto.params.ParametersWithIV)'
      Src: com.jcraft.jsch.bc.CAST128CTR:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.modes.CTRModeCipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 74
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 74
    functionName: '[com.jcraft.jsch.bc.CAST128CTR].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/CAST128CTR.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.modes.SICBlockCipher].newInstance(org.bouncycastle.crypto.engines.CAST5Engine)'
    - '[org.bouncycastle.crypto.engines.CAST5Engine].<init>()'
    - '[com.jcraft.jsch.bc.CAST128CTR].init(com.jcraft.jsch.bc.CAST128CTR,org.bouncycastle.crypto.params.ParametersWithIV)'
    - '[org.bouncycastle.crypto.params.ParametersWithIV].<init>(org.bouncycastle.crypto.params.KeyParameter,com.jcraft.jsch.bc.CAST128CTR,int,com.jcraft.jsch.bc.CAST128CTR)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.bc.CAST128CTR,int,com.jcraft.jsch.bc.CAST128CTR)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.CAST128CTR].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.crypto.modes.CTRModeCipher].processBytes(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.bc.CAST128CTR:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.modes.CTRModeCipher
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[com.jcraft.jsch.bc.CAST128CTR].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/CAST128CTR.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.modes.CTRModeCipher].processBytes(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.CAST128CTR].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.modes.CTRModeCipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: '[com.jcraft.jsch.bc.CAST128CTR].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/CAST128CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.bc.CAST128CTR].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - org.bouncycastle.crypto.modes.CTRModeCipher
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.CAST128CTR
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.CAST128CTR].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/CAST128CTR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.CAST128CTR
    signature: '[com.jcraft.jsch.bc.CAST128CTR].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.bc.TwofishCBC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.bc.Twofish192CBC].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish192CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.Twofish192CBC].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.Twofish192CBC
      static: false
      superClass: com.jcraft.jsch.bc.TwofishCBC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.Twofish192CBC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish192CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.Twofish192CBC
    signature: '[com.jcraft.jsch.bc.Twofish192CBC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[com.jcraft.jsch.bc.SignatureEd448].getName()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEd448.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.bc.SignatureEd448].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[com.jcraft.jsch.bc.SignatureEd448].getAlgo()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEd448.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.bc.SignatureEd448].getAlgo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.bc.SignatureEd448].getKeylen()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEd448.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.SignatureEd448].getKeylen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.SignatureEd448
      static: false
      superClass: com.jcraft.jsch.jce.SignatureEdDSA
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.SignatureEd448].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEd448.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.SignatureEd448
    signature: '[com.jcraft.jsch.bc.SignatureEd448].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.MLKEM1024
      static: false
      superClass: com.jcraft.jsch.jce.MLKEM
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.bc.MLKEM1024].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/MLKEM1024.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.MLKEM1024
    signature: '[com.jcraft.jsch.bc.MLKEM1024].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.MLKEM768
      static: false
      superClass: com.jcraft.jsch.jce.MLKEM
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[com.jcraft.jsch.bc.MLKEM768].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/MLKEM768.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.MLKEM768
    signature: '[com.jcraft.jsch.bc.MLKEM768].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: com.jcraft.jsch.bc.TwofishCBC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.bc.Twofish128CBC].getBlockSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish128CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.Twofish128CBC].getBlockSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.Twofish128CBC
      static: false
      superClass: com.jcraft.jsch.bc.TwofishCBC
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.Twofish128CBC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish128CBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.Twofish128CBC
    signature: '[com.jcraft.jsch.bc.Twofish128CBC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[com.jcraft.jsch.bc.TwofishCBC].getIVSize()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/TwofishCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.bc.TwofishCBC].getIVSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.bc.TwofishCBC,int,com.jcraft.jsch.bc.TwofishCBC)
      Src: com.jcraft.jsch.bc.TwofishCBC:51,1
    - Dst: '[com.jcraft.jsch.bc.TwofishCBC].getBlockSize()'
      Src: com.jcraft.jsch.bc.TwofishCBC:54,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.bc.TwofishCBC,int,com.jcraft.jsch.bc.TwofishCBC)
      Src: com.jcraft.jsch.bc.TwofishCBC:57,1
    - Dst: '[org.bouncycastle.crypto.params.ParametersWithIV].<init>(org.bouncycastle.crypto.params.KeyParameter,com.jcraft.jsch.bc.TwofishCBC,int,com.jcraft.jsch.bc.TwofishCBC)'
      Src: com.jcraft.jsch.bc.TwofishCBC:63,1
    - Dst: '[org.bouncycastle.crypto.engines.TwofishEngine].<init>()'
      Src: com.jcraft.jsch.bc.TwofishCBC:64,1
    - Dst: '[org.bouncycastle.crypto.modes.CBCBlockCipher].newInstance(org.bouncycastle.crypto.engines.TwofishEngine)'
      Src: com.jcraft.jsch.bc.TwofishCBC:64,1
    - Dst: '[org.bouncycastle.crypto.DefaultBufferedBlockCipher].<init>(com.jcraft.jsch.bc.TwofishCBC)'
      Src: com.jcraft.jsch.bc.TwofishCBC:64,1
    - Dst: '[org.bouncycastle.crypto.DefaultBufferedBlockCipher].init(com.jcraft.jsch.bc.TwofishCBC,org.bouncycastle.crypto.params.ParametersWithIV)'
      Src: com.jcraft.jsch.bc.TwofishCBC:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mode
    - key
    - iv
    argTypes:
    - int
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: '[com.jcraft.jsch.bc.TwofishCBC].init(int,byte[],byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/TwofishCBC.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.bc.TwofishCBC,int,com.jcraft.jsch.bc.TwofishCBC)
    - '[org.bouncycastle.crypto.modes.CBCBlockCipher].newInstance(org.bouncycastle.crypto.engines.TwofishEngine)'
    - '[org.bouncycastle.crypto.engines.TwofishEngine].<init>()'
    - '[org.bouncycastle.crypto.DefaultBufferedBlockCipher].init(com.jcraft.jsch.bc.TwofishCBC,org.bouncycastle.crypto.params.ParametersWithIV)'
    - '[com.jcraft.jsch.bc.TwofishCBC].getBlockSize()'
    - '[org.bouncycastle.crypto.params.ParametersWithIV].<init>(org.bouncycastle.crypto.params.KeyParameter,com.jcraft.jsch.bc.TwofishCBC,int,com.jcraft.jsch.bc.TwofishCBC)'
    - '[org.bouncycastle.crypto.DefaultBufferedBlockCipher].<init>(com.jcraft.jsch.bc.TwofishCBC)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.TwofishCBC].init(int,byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.bouncycastle.crypto.BufferedBlockCipher].processBytes(byte[],int,int,byte[],int)'
      Src: com.jcraft.jsch.bc.TwofishCBC:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - foo
    - s1
    - len
    - bar
    - s2
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[com.jcraft.jsch.bc.TwofishCBC].update(byte[],int,int,byte[],int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/TwofishCBC.java
    functionUses: 0
    functionsReached:
    - '[org.bouncycastle.crypto.BufferedBlockCipher].processBytes(byte[],int,int,byte[],int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.bc.TwofishCBC].update(byte[],int,int,byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[com.jcraft.jsch.bc.TwofishCBC].isCBC()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/TwofishCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.bc.TwofishCBC].isCBC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.bouncycastle.crypto.BufferedBlockCipher
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Cipher
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.bc.TwofishCBC
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.bc.TwofishCBC].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/bc/TwofishCBC.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.bc.TwofishCBC
    signature: '[com.jcraft.jsch.bc.TwofishCBC].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.ietf.jgss.Oid].<init>(String)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:51,1
    - Dst: '[org.ietf.jgss.GSSManager].getInstance()'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:55,1
    - Dst: '[java.net.InetAddress].getByName(com.jcraft.jsch.jgss.GSSContextKrb5)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:66,1
    - Dst: '[com.jcraft.jsch.jgss.GSSContextKrb5].getCanonicalHostName()'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:66,1
    - Dst: '[com.jcraft.jsch.jgss.GSSContextKrb5].createName(String,com.jcraft.jsch.jgss.GSSContextKrb5)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:69,1
    - Dst: '[com.jcraft.jsch.jgss.GSSContextKrb5].createContext(com.jcraft.jsch.jgss.GSSContextKrb5,org.ietf.jgss.Oid,com.jcraft.jsch.jgss.GSSContextKrb5,com.jcraft.jsch.jgss.GSSContextKrb5)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:71,1
    - Dst: '[com.jcraft.jsch.jgss.GSSContextKrb5].requestMutualAuth(boolean)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:87,1
    - Dst: '[com.jcraft.jsch.jgss.GSSContextKrb5].requestConf(boolean)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:88,1
    - Dst: '[com.jcraft.jsch.jgss.GSSContextKrb5].requestInteg(boolean)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:89,1
    - Dst: '[com.jcraft.jsch.jgss.GSSContextKrb5].requestCredDeleg(boolean)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:90,1
    - Dst: '[com.jcraft.jsch.jgss.GSSContextKrb5].requestAnonymity(boolean)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:91,1
    - Dst: ex.toString()
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:95,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.jgss.GSSContextKrb5,com.jcraft.jsch.jgss.GSSContextKrb5)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - org.ietf.jgss.GSSContext
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces:
      - com.jcraft.jsch.GSSContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - user
    - host
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 97
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 97
    functionName: '[com.jcraft.jsch.jgss.GSSContextKrb5].create(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jgss/GSSContextKrb5.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jgss.GSSContextKrb5].getCanonicalHostName()'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.jgss.GSSContextKrb5,com.jcraft.jsch.jgss.GSSContextKrb5)'
    - '[com.jcraft.jsch.jgss.GSSContextKrb5].requestMutualAuth(boolean)'
    - '[com.jcraft.jsch.jgss.GSSContextKrb5].requestCredDeleg(boolean)'
    - '[com.jcraft.jsch.jgss.GSSContextKrb5].createContext(com.jcraft.jsch.jgss.GSSContextKrb5,org.ietf.jgss.Oid,com.jcraft.jsch.jgss.GSSContextKrb5,com.jcraft.jsch.jgss.GSSContextKrb5)'
    - ex.toString()
    - '[com.jcraft.jsch.jgss.GSSContextKrb5].requestInteg(boolean)'
    - '[org.ietf.jgss.GSSManager].getInstance()'
    - '[java.net.InetAddress].getByName(com.jcraft.jsch.jgss.GSSContextKrb5)'
    - '[com.jcraft.jsch.jgss.GSSContextKrb5].requestAnonymity(boolean)'
    - '[com.jcraft.jsch.jgss.GSSContextKrb5].requestConf(boolean)'
    - '[org.ietf.jgss.Oid].<init>(String)'
    - '[com.jcraft.jsch.jgss.GSSContextKrb5].createName(String,com.jcraft.jsch.jgss.GSSContextKrb5)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jgss.GSSContextKrb5].create(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.ietf.jgss.GSSContext].isEstablished()'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - org.ietf.jgss.GSSContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.GSSContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: '[com.jcraft.jsch.jgss.GSSContextKrb5].isEstablished()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jgss/GSSContextKrb5.java
    functionUses: 0
    functionsReached:
    - '[org.ietf.jgss.GSSContext].isEstablished()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.jgss.GSSContextKrb5].isEstablished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jgss.GSSContextKrb5].setSystemProperty(String,String)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:114,1
    - Dst: '[org.ietf.jgss.GSSContext].initSecContext(byte[],int,int)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:116,1
    - Dst: ex.toString()
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:118,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.jgss.GSSContextKrb5,com.jcraft.jsch.jgss.GSSContextKrb5)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:118,1
    - Dst: ex.toString()
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:120,1
    - Dst: '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.jgss.GSSContextKrb5,com.jcraft.jsch.jgss.GSSContextKrb5)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:120,1
    - Dst: '[com.jcraft.jsch.jgss.GSSContextKrb5].setSystemProperty(String,String)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - org.ietf.jgss.GSSContext
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.JSchException
      interfaces:
      - com.jcraft.jsch.GSSContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - token
    - s
    - l
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 127
    functionName: '[com.jcraft.jsch.jgss.GSSContextKrb5].init(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jgss/GSSContextKrb5.java
    functionUses: 0
    functionsReached:
    - '[org.ietf.jgss.GSSContext].initSecContext(byte[],int,int)'
    - '[com.jcraft.jsch.JSchException].<init>(com.jcraft.jsch.jgss.GSSContextKrb5,com.jcraft.jsch.jgss.GSSContextKrb5)'
    - '[com.jcraft.jsch.jgss.GSSContextKrb5].setSystemProperty(String,String)'
    - ex.toString()
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jgss.GSSContextKrb5].init(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.ietf.jgss.MessageProp].<init>(int,boolean)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:132,1
    - Dst: '[org.ietf.jgss.GSSContext].getMIC(byte[],int,int,org.ietf.jgss.MessageProp)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - org.ietf.jgss.GSSContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.GSSContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - message
    - s
    - l
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: '[com.jcraft.jsch.jgss.GSSContextKrb5].getMIC(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jgss/GSSContextKrb5.java
    functionUses: 0
    functionsReached:
    - '[org.ietf.jgss.GSSContext].getMIC(byte[],int,int,org.ietf.jgss.MessageProp)'
    - '[org.ietf.jgss.MessageProp].<init>(int,boolean)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.jgss.GSSContextKrb5].getMIC(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.ietf.jgss.GSSContext].dispose()'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - org.ietf.jgss.GSSContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.GSSContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: '[com.jcraft.jsch.jgss.GSSContextKrb5].dispose()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jgss/GSSContextKrb5.java
    functionUses: 0
    functionsReached:
    - '[org.ietf.jgss.GSSContext].dispose()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jgss.GSSContextKrb5].dispose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - org.ietf.jgss.GSSContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.GSSContext
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: '[com.jcraft.jsch.jgss.GSSContextKrb5].getSystemProperty(String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jgss/GSSContextKrb5.java
    functionUses: 1
    functionsReached:
    - System.getProperty(String)
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.jgss.GSSContextKrb5].getSystemProperty(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.setProperty(String,String)
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - org.ietf.jgss.GSSContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.GSSContext
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: '[com.jcraft.jsch.jgss.GSSContextKrb5].setSystemProperty(String,String)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jgss/GSSContextKrb5.java
    functionUses: 1
    functionsReached:
    - System.setProperty(String,String)
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.jgss.GSSContextKrb5].setSystemProperty(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.jgss.GSSContextKrb5].getSystemProperty(String)'
      Src: com.jcraft.jsch.jgss.GSSContextKrb5:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - org.ietf.jgss.GSSContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.GSSContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.jgss.GSSContextKrb5
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.jgss.GSSContextKrb5].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/jgss/GSSContextKrb5.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.jgss.GSSContextKrb5].getSystemProperty(String)'
    linkageType: ''
    returnType: com.jcraft.jsch.jgss.GSSContextKrb5
    signature: '[com.jcraft.jsch.jgss.GSSContextKrb5].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.zip.Deflater
      - java.util.zip.Inflater
      - byte[]
      - byte[]
      - com.jcraft.jsch.Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Compression
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.juz.Compression
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '[com.jcraft.jsch.juz.Compression].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/juz/Compression.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.juz.Compression
    signature: '[com.jcraft.jsch.juz.Compression].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].getLogger()'
      Src: com.jcraft.jsch.juz.Compression:38,1
    - Dst: '[com.jcraft.jsch.Session].getLogger()'
      Src: com.jcraft.jsch.juz.Compression:38,1
    - Dst: logger.isEnabled(int)
      Src: com.jcraft.jsch.juz.Compression:39,1
    - Dst: '[java.util.function.Supplier<String>].get()'
      Src: com.jcraft.jsch.juz.Compression:42,1
    - Dst: logger.log(int,com.jcraft.jsch.juz.Compression)
      Src: com.jcraft.jsch.juz.Compression:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - java.util.function.Supplier<String>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.zip.Deflater
      - java.util.zip.Inflater
      - byte[]
      - byte[]
      - com.jcraft.jsch.Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Compression
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - message
    argTypes:
    - int
    - java.util.function.Supplier<String>
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: '[com.jcraft.jsch.juz.Compression].logMessage(int,java.util.function.Supplier<String>)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/juz/Compression.java
    functionUses: 0
    functionsReached:
    - logger.isEnabled(int)
    - '[com.jcraft.jsch.Session].getLogger()'
    - logger.log(int,com.jcraft.jsch.juz.Compression)
    - '[java.util.function.Supplier<String>].get()'
    - '[com.jcraft.jsch.JSch].getLogger()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.juz.Compression].logMessage(int,java.util.function.Supplier<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.Inflater].end()'
      Src: com.jcraft.jsch.juz.Compression:49,1
    - Dst: '[java.util.zip.Deflater].end()'
      Src: com.jcraft.jsch.juz.Compression:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.zip.Deflater
      - java.util.zip.Inflater
      - byte[]
      - byte[]
      - com.jcraft.jsch.Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Compression
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: '[com.jcraft.jsch.juz.Compression].end()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/juz/Compression.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.Inflater].end()'
    - '[java.util.zip.Deflater].end()'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.juz.Compression].end()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.juz.Compression].init(int,int)'
      Src: com.jcraft.jsch.juz.Compression:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - com.jcraft.jsch.Session
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.zip.Deflater
      - java.util.zip.Inflater
      - byte[]
      - byte[]
      - com.jcraft.jsch.Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Compression
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - type
    - level
    - session
    argTypes:
    - int
    - int
    - com.jcraft.jsch.Session
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: '[com.jcraft.jsch.juz.Compression].init(int,int,com.jcraft.jsch.Session)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/juz/Compression.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.juz.Compression].init(int,int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.juz.Compression].init(int,int,com.jcraft.jsch.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.Deflater].<init>(int)'
      Src: com.jcraft.jsch.juz.Compression:68,1
    - Dst: '[java.util.zip.Inflater].<init>()'
      Src: com.jcraft.jsch.juz.Compression:70,1
    - Dst: '[com.jcraft.jsch.juz.Compression].logMessage(com.jcraft.jsch.juz.Compression)'
      Src: com.jcraft.jsch.juz.Compression:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.zip.Deflater
      - java.util.zip.Inflater
      - byte[]
      - byte[]
      - com.jcraft.jsch.Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Compression
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - type
    - level
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: '[com.jcraft.jsch.juz.Compression].init(int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/juz/Compression.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.juz.Compression].logMessage(com.jcraft.jsch.juz.Compression)'
    - '[java.util.zip.Inflater].<init>()'
    - '[java.util.zip.Deflater].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.juz.Compression].init(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.Deflater].setInput(byte[],int,com.jcraft.jsch.juz.Compression)'
      Src: com.jcraft.jsch.juz.Compression:86,1
    - Dst: '[java.util.zip.Deflater].deflate(byte[],int,com.jcraft.jsch.juz.Compression,com.jcraft.jsch.juz.Compression)'
      Src: com.jcraft.jsch.juz.Compression:91,1
    - Dst: System.arraycopy(com.jcraft.jsch.juz.Compression,int,com.jcraft.jsch.juz.Compression,int,com.jcraft.jsch.juz.Compression)
      Src: com.jcraft.jsch.juz.Compression:95,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.juz.Compression,com.jcraft.jsch.juz.Compression,com.jcraft.jsch.juz.Compression)
      Src: com.jcraft.jsch.juz.Compression:98,1
    - Dst: '[java.util.zip.Deflater].needsInput()'
      Src: com.jcraft.jsch.juz.Compression:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.zip.Deflater
      - java.util.zip.Inflater
      - byte[]
      - byte[]
      - com.jcraft.jsch.Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Compression
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - start
    - end
    argTypes:
    - byte[]
    - int
    - int[]
    constantsTouched: []
    func_position:
      end: 104
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 104
    functionName: '[com.jcraft.jsch.juz.Compression].compress(byte[],int,int[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/juz/Compression.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,com.jcraft.jsch.juz.Compression,com.jcraft.jsch.juz.Compression,com.jcraft.jsch.juz.Compression)
    - '[java.util.zip.Deflater].deflate(byte[],int,com.jcraft.jsch.juz.Compression,com.jcraft.jsch.juz.Compression)'
    - '[java.util.zip.Deflater].setInput(byte[],int,com.jcraft.jsch.juz.Compression)'
    - '[java.util.zip.Deflater].needsInput()'
    - System.arraycopy(com.jcraft.jsch.juz.Compression,int,com.jcraft.jsch.juz.Compression,int,com.jcraft.jsch.juz.Compression)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.juz.Compression].compress(byte[],int,int[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.Inflater].setInput(byte[],int)'
      Src: com.jcraft.jsch.juz.Compression:108,1
    - Dst: '[java.util.zip.Inflater].inflate(byte[],int,com.jcraft.jsch.juz.Compression)'
      Src: com.jcraft.jsch.juz.Compression:113,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.juz.Compression,int,com.jcraft.jsch.juz.Compression)
      Src: com.jcraft.jsch.juz.Compression:116,1
    - Dst: System.arraycopy(byte[],int,byte[],com.jcraft.jsch.juz.Compression,com.jcraft.jsch.juz.Compression)
      Src: com.jcraft.jsch.juz.Compression:119,1
    - Dst: '[java.util.zip.Inflater].getRemaining()'
      Src: com.jcraft.jsch.juz.Compression:121,1
    - Dst: '[com.jcraft.jsch.juz.Compression].logMessage(com.jcraft.jsch.juz.Compression)'
      Src: com.jcraft.jsch.juz.Compression:123,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.juz.Compression,int,int)
      Src: com.jcraft.jsch.juz.Compression:128,1
    - Dst: System.arraycopy(byte[],int,com.jcraft.jsch.juz.Compression,int,com.jcraft.jsch.juz.Compression)
      Src: com.jcraft.jsch.juz.Compression:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.zip.Deflater
      - java.util.zip.Inflater
      - byte[]
      - byte[]
      - com.jcraft.jsch.Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Compression
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - start
    - len
    argTypes:
    - byte[]
    - int
    - int[]
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: '[com.jcraft.jsch.juz.Compression].uncompress(byte[],int,int[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/juz/Compression.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,byte[],com.jcraft.jsch.juz.Compression,com.jcraft.jsch.juz.Compression)
    - System.arraycopy(byte[],int,com.jcraft.jsch.juz.Compression,int,int)
    - '[java.util.zip.Inflater].setInput(byte[],int)'
    - '[java.util.zip.Inflater].inflate(byte[],int,com.jcraft.jsch.juz.Compression)'
    - '[java.util.zip.Inflater].getRemaining()'
    - '[com.jcraft.jsch.juz.Compression].logMessage(com.jcraft.jsch.juz.Compression)'
    - System.arraycopy(byte[],int,com.jcraft.jsch.juz.Compression,int,com.jcraft.jsch.juz.Compression)
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.juz.Compression].uncompress(byte[],int,int[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.asn1.ASN1].<init>(byte[],int,com.jcraft.jsch.asn1.ASN1)'
      Src: com.jcraft.jsch.asn1.ASN1:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.asn1.ASN1Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.asn1.ASN1
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[com.jcraft.jsch.asn1.ASN1].<init>(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 4
    functionsReached:
    - '[com.jcraft.jsch.asn1.ASN1].<init>(byte[],int,com.jcraft.jsch.asn1.ASN1)'
    linkageType: ''
    returnType: com.jcraft.jsch.asn1.ASN1
    signature: '[com.jcraft.jsch.asn1.ASN1].<init>(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
      Src: com.jcraft.jsch.asn1.ASN1:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.asn1.ASN1Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.asn1.ASN1
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - start
    - length
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: '[com.jcraft.jsch.asn1.ASN1].<init>(byte[],int,int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
    linkageType: ''
    returnType: com.jcraft.jsch.asn1.ASN1
    signature: '[com.jcraft.jsch.asn1.ASN1].<init>(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[com.jcraft.jsch.asn1.ASN1].getType()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.asn1.ASN1].getType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getType()'
      Src: com.jcraft.jsch.asn1.ASN1:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 5
    functionsReached:
    - '[com.jcraft.jsch.asn1.ASN1].getType()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getType()'
      Src: com.jcraft.jsch.asn1.ASN1:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[com.jcraft.jsch.asn1.ASN1].isINTEGER()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 1
    functionsReached:
    - '[com.jcraft.jsch.asn1.ASN1].getType()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.asn1.ASN1].isINTEGER()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getType()'
      Src: com.jcraft.jsch.asn1.ASN1:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '[com.jcraft.jsch.asn1.ASN1].isOBJECT()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.asn1.ASN1].getType()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.asn1.ASN1].isOBJECT()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getType()'
      Src: com.jcraft.jsch.asn1.ASN1:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: '[com.jcraft.jsch.asn1.ASN1].isOCTETSTRING()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 2
    functionsReached:
    - '[com.jcraft.jsch.asn1.ASN1].getType()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.asn1.ASN1].isOCTETSTRING()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getType()'
      Src: com.jcraft.jsch.asn1.ASN1:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[com.jcraft.jsch.asn1.ASN1].isNULL()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.asn1.ASN1].getType()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.asn1.ASN1].isNULL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getType()'
      Src: com.jcraft.jsch.asn1.ASN1:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: '[com.jcraft.jsch.asn1.ASN1].isBITSTRING()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.asn1.ASN1].getType()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.asn1.ASN1].isBITSTRING()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>()'
      Src: com.jcraft.jsch.asn1.ASN1:81,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getType()'
      Src: com.jcraft.jsch.asn1.ASN1:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - tag
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: '[com.jcraft.jsch.asn1.ASN1].isCONTEXTPRIMITIVE(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>()'
    - '[com.jcraft.jsch.asn1.ASN1].getType()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.asn1.ASN1].isCONTEXTPRIMITIVE(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>()'
      Src: com.jcraft.jsch.asn1.ASN1:88,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getType()'
      Src: com.jcraft.jsch.asn1.ASN1:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - tag
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: '[com.jcraft.jsch.asn1.ASN1].isCONTEXTCONSTRUCTED(int)'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>()'
    - '[com.jcraft.jsch.asn1.ASN1].getType()'
    linkageType: ''
    returnType: boolean
    signature: '[com.jcraft.jsch.asn1.ASN1].isCONTEXTCONSTRUCTED(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - int[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - indexp
    argTypes:
    - int[]
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: '[com.jcraft.jsch.asn1.ASN1].getLength(int[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.asn1.ASN1].getLength(int[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getLength(com.jcraft.jsch.asn1.ASN1)'
      Src: com.jcraft.jsch.asn1.ASN1:110,1
    - Dst: System.arraycopy(byte[],com.jcraft.jsch.asn1.ASN1,com.jcraft.jsch.asn1.ASN1,int,com.jcraft.jsch.asn1.ASN1)
      Src: com.jcraft.jsch.asn1.ASN1:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: '[com.jcraft.jsch.asn1.ASN1].getContent()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 2
    functionsReached:
    - System.arraycopy(byte[],com.jcraft.jsch.asn1.ASN1,com.jcraft.jsch.asn1.ASN1,int,com.jcraft.jsch.asn1.ASN1)
    - '[com.jcraft.jsch.asn1.ASN1].getLength(com.jcraft.jsch.asn1.ASN1)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.asn1.ASN1].getContent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getLength(com.jcraft.jsch.asn1.ASN1)'
      Src: com.jcraft.jsch.asn1.ASN1:121,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: com.jcraft.jsch.asn1.ASN1:126,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].getLength(com.jcraft.jsch.asn1.ASN1)'
      Src: com.jcraft.jsch.asn1.ASN1:132,1
    - Dst: '[com.jcraft.jsch.asn1.ASN1].<init>(byte[],int,com.jcraft.jsch.asn1.ASN1)'
      Src: com.jcraft.jsch.asn1.ASN1:135,1
    - Dst: '[java.util.ArrayList].add(com.jcraft.jsch.asn1.ASN1)'
      Src: com.jcraft.jsch.asn1.ASN1:135,1
    - Dst: '[java.util.ArrayList].size()'
      Src: com.jcraft.jsch.asn1.ASN1:139,1
    - Dst: '[java.util.ArrayList].toArray(com.jcraft.jsch.asn1.ASN1)'
      Src: com.jcraft.jsch.asn1.ASN1:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - com.jcraft.jsch.asn1.ASN1Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ASN1[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 142
    functionName: '[com.jcraft.jsch.asn1.ASN1].getContents()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 5
    functionsReached:
    - '[com.jcraft.jsch.asn1.ASN1].<init>(byte[],int,com.jcraft.jsch.asn1.ASN1)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].size()'
    - '[java.util.ArrayList].add(com.jcraft.jsch.asn1.ASN1)'
    - '[com.jcraft.jsch.asn1.ASN1].getLength(com.jcraft.jsch.asn1.ASN1)'
    - '[java.util.ArrayList].toArray(com.jcraft.jsch.asn1.ASN1)'
    linkageType: ''
    returnType: ASN1[]
    signature: '[com.jcraft.jsch.asn1.ASN1].getContents()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].copyOfRange(byte[],int,com.jcraft.jsch.asn1.ASN1)'
      Src: com.jcraft.jsch.asn1.ASN1:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: '[com.jcraft.jsch.asn1.ASN1].getRaw()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].copyOfRange(byte[],int,com.jcraft.jsch.asn1.ASN1)'
    linkageType: ''
    returnType: byte[]
    signature: '[com.jcraft.jsch.asn1.ASN1].getRaw()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.math.BigInteger].<init>(byte[])'
      Src: com.jcraft.jsch.asn1.ASN1:149,1
    - Dst: '[java.math.BigInteger].bitLength()'
      Src: com.jcraft.jsch.asn1.ASN1:152,1
    - Dst: '[java.math.BigInteger].intValue()'
      Src: com.jcraft.jsch.asn1.ASN1:153,1
    - Dst: '[ArithmeticException].<init>(String)'
      Src: com.jcraft.jsch.asn1.ASN1:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - ArithmeticException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - content
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: '[com.jcraft.jsch.asn1.ASN1].parseASN1IntegerAsInt(byte[])'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
    functionUses: 0
    functionsReached:
    - '[java.math.BigInteger].intValue()'
    - '[java.math.BigInteger].<init>(byte[])'
    - '[ArithmeticException].<init>(String)'
    - '[java.math.BigInteger].bitLength()'
    linkageType: ''
    returnType: int
    signature: '[com.jcraft.jsch.asn1.ASN1].parseASN1IntegerAsInt(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.asn1.ASN1Exception
      static: false
      superClass: Exception
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
    functionSourceFile: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1Exception.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.asn1.ASN1Exception
    signature: '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 9
    functionName: '[com.jcraft.jsch.Version].getVersion()'
    functionSourceFile: /src/jsch/src/main/java-templates/com/jcraft/jsch/Version.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Version].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Version
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Version].<init>()'
    functionSourceFile: /src/jsch/src/main/java-templates/com/jcraft/jsch/Version.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Version
    signature: '[com.jcraft.jsch.Version].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Logger.MyLogger].<init>()'
      Src: Logger:21,1
    - Dst: '[com.jcraft.jsch.JSch].setLogger(Logger.MyLogger)'
      Src: Logger:21,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: Logger:22,1
    - Dst: System.getProperty(String)
      Src: Logger:29,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: Logger:28,1
    - Dst: '[com.jcraft.jsch.Logger].indexOf(char)'
      Src: Logger:31,1
    - Dst: '[com.jcraft.jsch.Logger].substring(int,Logger)'
      Src: Logger:31,1
    - Dst: '[com.jcraft.jsch.Logger].indexOf(char)'
      Src: Logger:32,1
    - Dst: '[com.jcraft.jsch.Logger].substring(int)'
      Src: Logger:32,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(Logger,Logger,int)'
      Src: Logger:34,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: Logger:37,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: Logger:38,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: Logger:40,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: Logger:42,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(Logger)'
      Src: Logger:44,1
    - Dst: '[com.jcraft.jsch.Channel].setOutputStream(Logger)'
      Src: Logger:45,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: Logger:47,1
    - Dst: System.out.println(Logger)
      Src: Logger:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 51
      start: 18
    functionDepth: 7
    functionLinenumber: 18
    functionLinenumberEnd: 51
    functionName: '[com.jcraft.jsch.Logger].main(String[])'
    functionSourceFile: /src/jsch/examples/Logger.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.JSch].getSession(Logger,Logger,int)'
    - '[Subsystem.MyUserInfo].<init>()'
    - '[com.jcraft.jsch.Channel].setOutputStream(Logger)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].connect()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[Logger.MyLogger].<init>()'
    - '[com.jcraft.jsch.Logger].indexOf(char)'
    - '[com.jcraft.jsch.Logger].substring(int,Logger)'
    - System.out.println(Logger)
    - '[com.jcraft.jsch.JSch].setLogger(Logger.MyLogger)'
    - System.getProperty(String)
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - '[com.jcraft.jsch.Logger].substring(int)'
    - '[com.jcraft.jsch.Channel].setInputStream(Logger)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Logger].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Logger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Logger].<init>()'
    functionSourceFile: /src/jsch/examples/Logger.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Logger
    signature: '[com.jcraft.jsch.Logger].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Integer, String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[Logger.MyLogger].isEnabled(int)'
    functionSourceFile: /src/jsch/examples/Logger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[Logger.MyLogger].isEnabled(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Integer, String>].get(int)'
      Src: Logger.MyLogger:71,1
    - Dst: System.err.print(Logger.MyLogger)
      Src: Logger.MyLogger:71,1
    - Dst: System.err.println(String)
      Src: Logger.MyLogger:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Integer, String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - level
    - message
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '[Logger.MyLogger].log(int,String)'
    functionSourceFile: /src/jsch/examples/Logger.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Integer, String>].get(int)'
    - System.err.print(Logger.MyLogger)
    - System.err.println(String)
    linkageType: ''
    returnType: void
    signature: '[Logger.MyLogger].log(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: Logger.MyLogger:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Integer, String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - com.jcraft.jsch.Logger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Logger.MyLogger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Logger.MyLogger].<init>()'
    functionSourceFile: /src/jsch/examples/Logger.java
    functionUses: 1
    functionsReached:
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: Logger.MyLogger
    signature: '[Logger.MyLogger].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[Logger.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/Logger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Logger.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,Logger.MyUserInfo,Logger.MyUserInfo,null,Logger.MyUserInfo)'
      Src: Logger.MyUserInfo:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: '[Logger.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/Logger.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,Logger.MyUserInfo,Logger.MyUserInfo,null,Logger.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[Logger.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '[Logger.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/Logger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Logger.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[Logger.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/Logger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[Logger.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,Logger.MyUserInfo,String,Logger.MyUserInfo)'
      Src: Logger.MyUserInfo:106,1
    - Dst: '[JTextField].getText()'
      Src: Logger.MyUserInfo:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: '[Logger.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/Logger.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,Logger.MyUserInfo,String,Logger.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[Logger.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: Logger.MyUserInfo:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: '[Logger.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/Logger.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[Logger.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: Logger.MyUserInfo:127,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: Logger.MyUserInfo:128,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: Logger.MyUserInfo:128,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: Logger.MyUserInfo:133,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: Logger.MyUserInfo:133,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: Logger.MyUserInfo:143,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: Logger.MyUserInfo:143,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: Logger.MyUserInfo:149,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Logger.MyUserInfo:151,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: Logger.MyUserInfo:153,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,Logger.MyUserInfo,Logger.MyUserInfo,Logger.MyUserInfo)'
      Src: Logger.MyUserInfo:157,1
    - Dst: texts[i].getText()
      Src: Logger.MyUserInfo:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 167
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 167
    functionName: '[Logger.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/Logger.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,Logger.MyUserInfo,Logger.MyUserInfo,Logger.MyUserInfo)'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[Logger.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Logger.MyUserInfo:91,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: Logger.MyUserInfo:121,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,Logger.MyUserInfo,Logger.MyUserInfo,java.awt.Insets,int,int)'
      Src: Logger.MyUserInfo:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Logger.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Logger.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/Logger.java
    functionUses: 0
    functionsReached:
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,Logger.MyUserInfo,Logger.MyUserInfo,java.awt.Insets,int,int)'
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: Logger.MyUserInfo
    signature: '[Logger.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: Subsystem:21,1
    - Dst: System.getProperty(String)
      Src: Subsystem:28,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: Subsystem:27,1
    - Dst: '[Subsystem].indexOf(char)'
      Src: Subsystem:30,1
    - Dst: '[Subsystem].substring(int,Subsystem)'
      Src: Subsystem:30,1
    - Dst: '[Subsystem].indexOf(char)'
      Src: Subsystem:31,1
    - Dst: '[Subsystem].substring(int)'
      Src: Subsystem:31,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(Subsystem,Subsystem,int)'
      Src: Subsystem:33,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: Subsystem:35,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: Subsystem:36,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: Subsystem:37,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: Subsystem:39,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: Subsystem:41,1
    - Dst: '[com.jcraft.jsch.ChannelSubsystem].setSubsystem(Subsystem)'
      Src: Subsystem:42,1
    - Dst: '[com.jcraft.jsch.ChannelSubsystem].setPty(boolean)'
      Src: Subsystem:43,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(Subsystem)'
      Src: Subsystem:45,1
    - Dst: '[com.jcraft.jsch.ChannelSubsystem].setErrStream(Subsystem)'
      Src: Subsystem:46,1
    - Dst: '[com.jcraft.jsch.Channel].setOutputStream(Subsystem)'
      Src: Subsystem:47,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: Subsystem:48,1
    - Dst: System.out.println(Subsystem)
      Src: Subsystem:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 77
      start: 19
    functionDepth: 7
    functionLinenumber: 19
    functionLinenumberEnd: 77
    functionName: '[Subsystem].main(String[])'
    functionSourceFile: /src/jsch/examples/Subsystem.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.ChannelSubsystem].setErrStream(Subsystem)'
    - '[Subsystem.MyUserInfo].<init>()'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - '[Subsystem].substring(int)'
    - '[com.jcraft.jsch.ChannelSubsystem].setPty(boolean)'
    - '[Subsystem].substring(int,Subsystem)'
    - '[com.jcraft.jsch.JSch].getSession(Subsystem,Subsystem,int)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].setInputStream(Subsystem)'
    - '[com.jcraft.jsch.Channel].connect()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - System.out.println(Subsystem)
    - System.getProperty(String)
    - '[com.jcraft.jsch.ChannelSubsystem].setSubsystem(Subsystem)'
    - '[Subsystem].indexOf(char)'
    - '[com.jcraft.jsch.Channel].setOutputStream(Subsystem)'
    linkageType: ''
    returnType: void
    signature: '[Subsystem].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Subsystem
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Subsystem].<init>()'
    functionSourceFile: /src/jsch/examples/Subsystem.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Subsystem
    signature: '[Subsystem].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: '[Subsystem.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/Subsystem.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Subsystem.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,Subsystem.MyUserInfo,Subsystem.MyUserInfo,null,Subsystem.MyUserInfo)'
      Src: Subsystem.MyUserInfo:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: '[Subsystem.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/Subsystem.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,Subsystem.MyUserInfo,Subsystem.MyUserInfo,null,Subsystem.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[Subsystem.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[Subsystem.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/Subsystem.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Subsystem.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[Subsystem.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/Subsystem.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[Subsystem.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,Subsystem.MyUserInfo,String,Subsystem.MyUserInfo)'
      Src: Subsystem.MyUserInfo:109,1
    - Dst: '[JTextField].getText()'
      Src: Subsystem.MyUserInfo:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: '[Subsystem.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/Subsystem.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,Subsystem.MyUserInfo,String,Subsystem.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[Subsystem.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: Subsystem.MyUserInfo:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '[Subsystem.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/Subsystem.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[Subsystem.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: Subsystem.MyUserInfo:130,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: Subsystem.MyUserInfo:131,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: Subsystem.MyUserInfo:131,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: Subsystem.MyUserInfo:136,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: Subsystem.MyUserInfo:136,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: Subsystem.MyUserInfo:146,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: Subsystem.MyUserInfo:146,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: Subsystem.MyUserInfo:152,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Subsystem.MyUserInfo:154,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: Subsystem.MyUserInfo:156,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,Subsystem.MyUserInfo,Subsystem.MyUserInfo,Subsystem.MyUserInfo)'
      Src: Subsystem.MyUserInfo:160,1
    - Dst: texts[i].getText()
      Src: Subsystem.MyUserInfo:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 170
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 170
    functionName: '[Subsystem.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/Subsystem.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,Subsystem.MyUserInfo,Subsystem.MyUserInfo,Subsystem.MyUserInfo)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[Subsystem.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Subsystem.MyUserInfo:94,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: Subsystem.MyUserInfo:124,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,Subsystem.MyUserInfo,Subsystem.MyUserInfo,java.awt.Insets,int,int)'
      Src: Subsystem.MyUserInfo:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Subsystem.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Subsystem.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/Subsystem.java
    functionUses: 25
    functionsReached:
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,Subsystem.MyUserInfo,Subsystem.MyUserInfo,java.awt.Insets,int,int)'
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: Subsystem.MyUserInfo
    signature: '[Subsystem.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: ViaSOCKS5:28,1
    - Dst: System.getProperty(String)
      Src: ViaSOCKS5:35,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: ViaSOCKS5:34,1
    - Dst: '[ViaSOCKS5].indexOf(char)'
      Src: ViaSOCKS5:37,1
    - Dst: '[ViaSOCKS5].substring(int,ViaSOCKS5)'
      Src: ViaSOCKS5:37,1
    - Dst: '[ViaSOCKS5].indexOf(char)'
      Src: ViaSOCKS5:38,1
    - Dst: '[ViaSOCKS5].substring(int)'
      Src: ViaSOCKS5:38,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(ViaSOCKS5,ViaSOCKS5,int)'
      Src: ViaSOCKS5:40,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: ViaSOCKS5:42,1
    - Dst: '[ViaSOCKS5].indexOf(char)'
      Src: ViaSOCKS5:43,1
    - Dst: '[ViaSOCKS5].substring(int,ViaSOCKS5)'
      Src: ViaSOCKS5:43,1
    - Dst: '[ViaSOCKS5].indexOf(char)'
      Src: ViaSOCKS5:44,1
    - Dst: '[ViaSOCKS5].substring(int)'
      Src: ViaSOCKS5:44,1
    - Dst: Integer.parseInt(ViaSOCKS5)
      Src: ViaSOCKS5:44,1
    - Dst: '[com.jcraft.jsch.ProxySOCKS5].<init>(ViaSOCKS5,ViaSOCKS5)'
      Src: ViaSOCKS5:46,1
    - Dst: '[com.jcraft.jsch.Session].setProxy(com.jcraft.jsch.ProxySOCKS5)'
      Src: ViaSOCKS5:46,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: ViaSOCKS5:49,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: ViaSOCKS5:50,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: ViaSOCKS5:52,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: ViaSOCKS5:54,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(ViaSOCKS5)'
      Src: ViaSOCKS5:56,1
    - Dst: '[com.jcraft.jsch.Channel].setOutputStream(ViaSOCKS5)'
      Src: ViaSOCKS5:57,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: ViaSOCKS5:59,1
    - Dst: System.out.println(ViaSOCKS5)
      Src: ViaSOCKS5:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 63
      start: 22
    functionDepth: 7
    functionLinenumber: 22
    functionLinenumberEnd: 63
    functionName: '[ViaSOCKS5].main(String[])'
    functionSourceFile: /src/jsch/examples/ViaSOCKS5.java
    functionUses: 0
    functionsReached:
    - '[ViaSOCKS5].indexOf(char)'
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.Channel].setInputStream(ViaSOCKS5)'
    - '[com.jcraft.jsch.Channel].setOutputStream(ViaSOCKS5)'
    - '[com.jcraft.jsch.Session].setProxy(com.jcraft.jsch.ProxySOCKS5)'
    - '[Subsystem.MyUserInfo].<init>()'
    - Integer.parseInt(ViaSOCKS5)
    - '[ViaSOCKS5].substring(int)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.ProxySOCKS5].<init>(ViaSOCKS5,ViaSOCKS5)'
    - '[com.jcraft.jsch.Channel].connect()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - System.out.println(ViaSOCKS5)
    - '[com.jcraft.jsch.JSch].getSession(ViaSOCKS5,ViaSOCKS5,int)'
    - System.getProperty(String)
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - '[ViaSOCKS5].substring(int,ViaSOCKS5)'
    linkageType: ''
    returnType: void
    signature: '[ViaSOCKS5].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ViaSOCKS5
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[ViaSOCKS5].<init>()'
    functionSourceFile: /src/jsch/examples/ViaSOCKS5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ViaSOCKS5
    signature: '[ViaSOCKS5].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[ViaSOCKS5.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/ViaSOCKS5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[ViaSOCKS5.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,ViaSOCKS5.MyUserInfo,ViaSOCKS5.MyUserInfo,null,ViaSOCKS5.MyUserInfo)'
      Src: ViaSOCKS5.MyUserInfo:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: '[ViaSOCKS5.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/ViaSOCKS5.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,ViaSOCKS5.MyUserInfo,ViaSOCKS5.MyUserInfo,null,ViaSOCKS5.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[ViaSOCKS5.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[ViaSOCKS5.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/ViaSOCKS5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[ViaSOCKS5.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[ViaSOCKS5.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/ViaSOCKS5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[ViaSOCKS5.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,ViaSOCKS5.MyUserInfo,String,ViaSOCKS5.MyUserInfo)'
      Src: ViaSOCKS5.MyUserInfo:95,1
    - Dst: '[JTextField].getText()'
      Src: ViaSOCKS5.MyUserInfo:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: '[ViaSOCKS5.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/ViaSOCKS5.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,ViaSOCKS5.MyUserInfo,String,ViaSOCKS5.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[ViaSOCKS5.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: ViaSOCKS5.MyUserInfo:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: '[ViaSOCKS5.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/ViaSOCKS5.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[ViaSOCKS5.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: ViaSOCKS5.MyUserInfo:116,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: ViaSOCKS5.MyUserInfo:117,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: ViaSOCKS5.MyUserInfo:117,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: ViaSOCKS5.MyUserInfo:122,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: ViaSOCKS5.MyUserInfo:122,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: ViaSOCKS5.MyUserInfo:132,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: ViaSOCKS5.MyUserInfo:132,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: ViaSOCKS5.MyUserInfo:138,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: ViaSOCKS5.MyUserInfo:140,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: ViaSOCKS5.MyUserInfo:142,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,ViaSOCKS5.MyUserInfo,ViaSOCKS5.MyUserInfo,ViaSOCKS5.MyUserInfo)'
      Src: ViaSOCKS5.MyUserInfo:146,1
    - Dst: texts[i].getText()
      Src: ViaSOCKS5.MyUserInfo:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 156
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 156
    functionName: '[ViaSOCKS5.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/ViaSOCKS5.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,ViaSOCKS5.MyUserInfo,ViaSOCKS5.MyUserInfo,ViaSOCKS5.MyUserInfo)'
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[ViaSOCKS5.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: ViaSOCKS5.MyUserInfo:80,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: ViaSOCKS5.MyUserInfo:110,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,ViaSOCKS5.MyUserInfo,ViaSOCKS5.MyUserInfo,java.awt.Insets,int,int)'
      Src: ViaSOCKS5.MyUserInfo:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ViaSOCKS5.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[ViaSOCKS5.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/ViaSOCKS5.java
    functionUses: 0
    functionsReached:
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,ViaSOCKS5.MyUserInfo,ViaSOCKS5.MyUserInfo,java.awt.Insets,int,int)'
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: ViaSOCKS5.MyUserInfo
    signature: '[ViaSOCKS5.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: X11Forwarding:28,1
    - Dst: System.getProperty(String)
      Src: X11Forwarding:35,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: X11Forwarding:34,1
    - Dst: '[X11Forwarding].indexOf(char)'
      Src: X11Forwarding:37,1
    - Dst: '[X11Forwarding].substring(int,X11Forwarding)'
      Src: X11Forwarding:37,1
    - Dst: '[X11Forwarding].indexOf(char)'
      Src: X11Forwarding:38,1
    - Dst: '[X11Forwarding].substring(int)'
      Src: X11Forwarding:38,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(X11Forwarding,X11Forwarding,int)'
      Src: X11Forwarding:40,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,X11Forwarding)'
      Src: X11Forwarding:43,1
    - Dst: '[X11Forwarding].indexOf(char)'
      Src: X11Forwarding:44,1
    - Dst: '[X11Forwarding].substring(int,X11Forwarding)'
      Src: X11Forwarding:44,1
    - Dst: '[X11Forwarding].indexOf(char)'
      Src: X11Forwarding:45,1
    - Dst: '[X11Forwarding].substring(int)'
      Src: X11Forwarding:45,1
    - Dst: Integer.parseInt(X11Forwarding)
      Src: X11Forwarding:45,1
    - Dst: '[com.jcraft.jsch.Session].setX11Host(X11Forwarding)'
      Src: X11Forwarding:47,1
    - Dst: '[com.jcraft.jsch.Session].setX11Port(int)'
      Src: X11Forwarding:48,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: X11Forwarding:51,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: X11Forwarding:52,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: X11Forwarding:53,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: X11Forwarding:55,1
    - Dst: '[com.jcraft.jsch.Channel].setXForwarding(boolean)'
      Src: X11Forwarding:57,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(X11Forwarding)'
      Src: X11Forwarding:59,1
    - Dst: '[com.jcraft.jsch.Channel].setOutputStream(X11Forwarding)'
      Src: X11Forwarding:60,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: X11Forwarding:62,1
    - Dst: System.out.println(X11Forwarding)
      Src: X11Forwarding:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 66
      start: 22
    functionDepth: 7
    functionLinenumber: 22
    functionLinenumberEnd: 66
    functionName: '[X11Forwarding].main(String[])'
    functionSourceFile: /src/jsch/examples/X11Forwarding.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Channel].setInputStream(X11Forwarding)'
    - '[Subsystem.MyUserInfo].<init>()'
    - '[com.jcraft.jsch.Session].setX11Host(X11Forwarding)'
    - '[com.jcraft.jsch.Session].setX11Port(int)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.Channel].setXForwarding(boolean)'
    - '[X11Forwarding].substring(int,X11Forwarding)'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - System.out.println(X11Forwarding)
    - '[com.jcraft.jsch.JSch].getSession(X11Forwarding,X11Forwarding,int)'
    - '[X11Forwarding].indexOf(char)'
    - Integer.parseInt(X11Forwarding)
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Channel].setOutputStream(X11Forwarding)'
    - '[javax.swing.JOptionPane].showInputDialog(String,X11Forwarding)'
    - '[X11Forwarding].substring(int)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].connect()'
    - System.getProperty(String)
    linkageType: ''
    returnType: void
    signature: '[X11Forwarding].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: X11Forwarding
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[X11Forwarding].<init>()'
    functionSourceFile: /src/jsch/examples/X11Forwarding.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X11Forwarding
    signature: '[X11Forwarding].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[X11Forwarding.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/X11Forwarding.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[X11Forwarding.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,X11Forwarding.MyUserInfo,X11Forwarding.MyUserInfo,null,X11Forwarding.MyUserInfo)'
      Src: X11Forwarding.MyUserInfo:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: '[X11Forwarding.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/X11Forwarding.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,X11Forwarding.MyUserInfo,X11Forwarding.MyUserInfo,null,X11Forwarding.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[X11Forwarding.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '[X11Forwarding.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/X11Forwarding.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[X11Forwarding.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[X11Forwarding.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/X11Forwarding.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[X11Forwarding.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,X11Forwarding.MyUserInfo,String,X11Forwarding.MyUserInfo)'
      Src: X11Forwarding.MyUserInfo:98,1
    - Dst: '[JTextField].getText()'
      Src: X11Forwarding.MyUserInfo:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: '[X11Forwarding.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/X11Forwarding.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,X11Forwarding.MyUserInfo,String,X11Forwarding.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[X11Forwarding.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: X11Forwarding.MyUserInfo:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[X11Forwarding.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/X11Forwarding.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[X11Forwarding.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: X11Forwarding.MyUserInfo:119,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: X11Forwarding.MyUserInfo:120,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: X11Forwarding.MyUserInfo:120,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: X11Forwarding.MyUserInfo:125,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: X11Forwarding.MyUserInfo:125,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: X11Forwarding.MyUserInfo:135,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: X11Forwarding.MyUserInfo:135,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: X11Forwarding.MyUserInfo:141,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: X11Forwarding.MyUserInfo:143,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: X11Forwarding.MyUserInfo:145,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,X11Forwarding.MyUserInfo,X11Forwarding.MyUserInfo,X11Forwarding.MyUserInfo)'
      Src: X11Forwarding.MyUserInfo:149,1
    - Dst: texts[i].getText()
      Src: X11Forwarding.MyUserInfo:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 159
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 159
    functionName: '[X11Forwarding.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/X11Forwarding.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,X11Forwarding.MyUserInfo,X11Forwarding.MyUserInfo,X11Forwarding.MyUserInfo)'
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[X11Forwarding.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: X11Forwarding.MyUserInfo:83,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: X11Forwarding.MyUserInfo:113,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,X11Forwarding.MyUserInfo,X11Forwarding.MyUserInfo,java.awt.Insets,int,int)'
      Src: X11Forwarding.MyUserInfo:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: X11Forwarding.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[X11Forwarding.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/X11Forwarding.java
    functionUses: 0
    functionsReached:
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,X11Forwarding.MyUserInfo,X11Forwarding.MyUserInfo,java.awt.Insets,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: X11Forwarding.MyUserInfo
    signature: '[X11Forwarding.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: UserAuthKI:24,1
    - Dst: System.getProperty(String)
      Src: UserAuthKI:31,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: UserAuthKI:30,1
    - Dst: '[UserAuthKI].indexOf(char)'
      Src: UserAuthKI:33,1
    - Dst: '[UserAuthKI].substring(int,UserAuthKI)'
      Src: UserAuthKI:33,1
    - Dst: '[UserAuthKI].indexOf(char)'
      Src: UserAuthKI:34,1
    - Dst: '[UserAuthKI].substring(int)'
      Src: UserAuthKI:34,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(UserAuthKI,UserAuthKI,int)'
      Src: UserAuthKI:36,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: UserAuthKI:39,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: UserAuthKI:40,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: UserAuthKI:41,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: UserAuthKI:43,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(UserAuthKI)'
      Src: UserAuthKI:45,1
    - Dst: '[com.jcraft.jsch.Channel].setOutputStream(UserAuthKI)'
      Src: UserAuthKI:46,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: UserAuthKI:48,1
    - Dst: System.out.println(UserAuthKI)
      Src: UserAuthKI:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 52
      start: 21
    functionDepth: 7
    functionLinenumber: 21
    functionLinenumberEnd: 52
    functionName: '[UserAuthKI].main(String[])'
    functionSourceFile: /src/jsch/examples/UserAuthKI.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[Subsystem.MyUserInfo].<init>()'
    - System.out.println(UserAuthKI)
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].setOutputStream(UserAuthKI)'
    - '[com.jcraft.jsch.Channel].connect()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[UserAuthKI].substring(int,UserAuthKI)'
    - '[UserAuthKI].indexOf(char)'
    - '[UserAuthKI].substring(int)'
    - System.getProperty(String)
    - '[com.jcraft.jsch.JSch].getSession(UserAuthKI,UserAuthKI,int)'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - '[com.jcraft.jsch.Channel].setInputStream(UserAuthKI)'
    linkageType: ''
    returnType: void
    signature: '[UserAuthKI].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: UserAuthKI
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[UserAuthKI].<init>()'
    functionSourceFile: /src/jsch/examples/UserAuthKI.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UserAuthKI
    signature: '[UserAuthKI].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[UserAuthKI.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/UserAuthKI.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[UserAuthKI.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,UserAuthKI.MyUserInfo,UserAuthKI.MyUserInfo,null,UserAuthKI.MyUserInfo)'
      Src: UserAuthKI.MyUserInfo:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: '[UserAuthKI.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/UserAuthKI.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,UserAuthKI.MyUserInfo,UserAuthKI.MyUserInfo,null,UserAuthKI.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[UserAuthKI.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[UserAuthKI.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/UserAuthKI.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[UserAuthKI.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[UserAuthKI.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/UserAuthKI.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[UserAuthKI.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,UserAuthKI.MyUserInfo,String,UserAuthKI.MyUserInfo)'
      Src: UserAuthKI.MyUserInfo:84,1
    - Dst: '[JTextField].getText()'
      Src: UserAuthKI.MyUserInfo:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: '[UserAuthKI.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/UserAuthKI.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,UserAuthKI.MyUserInfo,String,UserAuthKI.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[UserAuthKI.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: UserAuthKI.MyUserInfo:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '[UserAuthKI.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/UserAuthKI.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[UserAuthKI.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: UserAuthKI.MyUserInfo:111,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: UserAuthKI.MyUserInfo:112,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: UserAuthKI.MyUserInfo:112,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: UserAuthKI.MyUserInfo:117,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: UserAuthKI.MyUserInfo:117,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: UserAuthKI.MyUserInfo:127,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: UserAuthKI.MyUserInfo:127,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: UserAuthKI.MyUserInfo:133,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: UserAuthKI.MyUserInfo:135,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: UserAuthKI.MyUserInfo:137,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,UserAuthKI.MyUserInfo,UserAuthKI.MyUserInfo,UserAuthKI.MyUserInfo)'
      Src: UserAuthKI.MyUserInfo:141,1
    - Dst: texts[i].getText()
      Src: UserAuthKI.MyUserInfo:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 151
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 151
    functionName: '[UserAuthKI.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/UserAuthKI.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,UserAuthKI.MyUserInfo,UserAuthKI.MyUserInfo,UserAuthKI.MyUserInfo)'
    linkageType: ''
    returnType: String[]
    signature: '[UserAuthKI.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: UserAuthKI.MyUserInfo:69,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: UserAuthKI.MyUserInfo:99,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,UserAuthKI.MyUserInfo,UserAuthKI.MyUserInfo,java.awt.Insets,int,int)'
      Src: UserAuthKI.MyUserInfo:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: UserAuthKI.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[UserAuthKI.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/UserAuthKI.java
    functionUses: 0
    functionsReached:
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,UserAuthKI.MyUserInfo,UserAuthKI.MyUserInfo,java.awt.Insets,int,int)'
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: UserAuthKI.MyUserInfo
    signature: '[UserAuthKI.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: Shell:17,1
    - Dst: System.getProperty(String)
      Src: Shell:26,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: Shell:25,1
    - Dst: '[Shell].indexOf(char)'
      Src: Shell:28,1
    - Dst: '[Shell].substring(int,Shell)'
      Src: Shell:28,1
    - Dst: '[Shell].indexOf(char)'
      Src: Shell:29,1
    - Dst: '[Shell].substring(int)'
      Src: Shell:29,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(Shell,Shell,int)'
      Src: Shell:31,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String)'
      Src: Shell:33,1
    - Dst: '[com.jcraft.jsch.Session].setPassword(Shell)'
      Src: Shell:34,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: Shell:36,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: Shell:58,1
    - Dst: '[com.jcraft.jsch.Session].connect(int)'
      Src: Shell:65,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: Shell:67,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(Shell)'
      Src: Shell:72,1
    - Dst: '[com.jcraft.jsch.Channel].setOutputStream(Shell)'
      Src: Shell:81,1
    - Dst: '[com.jcraft.jsch.Channel].connect(int,int)'
      Src: Shell:90,1
    - Dst: System.out.println(Shell)
      Src: Shell:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 94
      start: 14
    functionDepth: 6
    functionLinenumber: 14
    functionLinenumberEnd: 94
    functionName: '[Shell].main(String[])'
    functionSourceFile: /src/jsch/examples/Shell.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - System.out.println(Shell)
    - '[Subsystem.MyUserInfo].<init>()'
    - '[com.jcraft.jsch.Channel].connect(int,int)'
    - '[com.jcraft.jsch.JSch].getSession(Shell,Shell,int)'
    - '[Shell].indexOf(char)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[Shell].substring(int)'
    - '[com.jcraft.jsch.Session].connect(int)'
    - '[Shell].substring(int,Shell)'
    - '[com.jcraft.jsch.Session].setPassword(Shell)'
    - '[javax.swing.JOptionPane].showInputDialog(String)'
    - '[com.jcraft.jsch.Channel].setInputStream(Shell)'
    - System.getProperty(String)
    - '[com.jcraft.jsch.Channel].setOutputStream(Shell)'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    linkageType: ''
    returnType: void
    signature: '[Shell].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Shell
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Shell].<init>()'
    functionSourceFile: /src/jsch/examples/Shell.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Shell
    signature: '[Shell].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '[Shell.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/Shell.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Shell.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[Shell.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/Shell.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Shell.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[Shell.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/Shell.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[Shell.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: '[Shell.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/Shell.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[Shell.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: '[Shell.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/Shell.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[Shell.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Shell.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Shell.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/Shell.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Shell.MyUserInfo
    signature: '[Shell.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.err.println(String)
      Src: ScpFrom:29,1
    - Dst: System.exit()
      Src: ScpFrom:30,1
    - Dst: arg[0].indexOf(char)
      Src: ScpFrom:35,1
    - Dst: arg[0].substring(int,ScpFrom)
      Src: ScpFrom:35,1
    - Dst: arg[0].indexOf(char)
      Src: ScpFrom:36,1
    - Dst: arg[0].substring(int)
      Src: ScpFrom:36,1
    - Dst: arg[0].indexOf(char)
      Src: ScpFrom:37,1
    - Dst: arg[0].substring(int,ScpFrom)
      Src: ScpFrom:37,1
    - Dst: arg[0].indexOf(char)
      Src: ScpFrom:38,1
    - Dst: arg[0].substring(int)
      Src: ScpFrom:38,1
    - Dst: '[java.io.File].<init>(ScpFrom)'
      Src: ScpFrom:42,1
    - Dst: '[java.io.File].isDirectory()'
      Src: ScpFrom:42,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: ScpFrom:46,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(ScpFrom,ScpFrom,int)'
      Src: ScpFrom:47,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: ScpFrom:50,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: ScpFrom:51,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: ScpFrom:52,1
    - Dst: '[ScpFrom].replace(String,String)'
      Src: ScpFrom:55,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: ScpFrom:58,1
    - Dst: '[com.jcraft.jsch.ChannelExec].setCommand(ScpFrom)'
      Src: ScpFrom:59,1
    - Dst: '[com.jcraft.jsch.Channel].getOutputStream()'
      Src: ScpFrom:62,1
    - Dst: '[com.jcraft.jsch.Channel].getInputStream()'
      Src: ScpFrom:63,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: ScpFrom:65,1
    - Dst: '[java.io.OutputStream].write(ScpFrom,int,int)'
      Src: ScpFrom:71,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: ScpFrom:72,1
    - Dst: '[ScpFrom].checkAck(java.io.InputStream)'
      Src: ScpFrom:75,1
    - Dst: '[java.io.InputStream].read(ScpFrom,int,int)'
      Src: ScpFrom:81,1
    - Dst: '[java.io.InputStream].read(ScpFrom,int,int)'
      Src: ScpFrom:85,1
    - Dst: '[java.io.InputStream].read(ScpFrom,ScpFrom,int)'
      Src: ScpFrom:96,1
    - Dst: '[String].<init>(ScpFrom,int,ScpFrom)'
      Src: ScpFrom:98,1
    - Dst: '[java.io.OutputStream].write(ScpFrom,int,int)'
      Src: ScpFrom:107,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: ScpFrom:108,1
    - Dst: '[java.io.FileOutputStream].<init>()'
      Src: ScpFrom:111,1
    - Dst: '[java.io.InputStream].read(ScpFrom,int,ScpFrom)'
      Src: ScpFrom:118,1
    - Dst: fos.write(ScpFrom,int,ScpFrom)
      Src: ScpFrom:123,1
    - Dst: '[ScpFrom].checkAck(java.io.InputStream)'
      Src: ScpFrom:130,1
    - Dst: System.exit(int)
      Src: ScpFrom:131,1
    - Dst: '[java.io.OutputStream].write(ScpFrom,int,int)'
      Src: ScpFrom:136,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: ScpFrom:137,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: ScpFrom:140,1
    - Dst: System.exit(int)
      Src: ScpFrom:142,1
    - Dst: System.out.println(ScpFrom)
      Src: ScpFrom:144,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 146
      start: 27
    functionDepth: 7
    functionLinenumber: 27
    functionLinenumberEnd: 146
    functionName: '[ScpFrom].main(String[])'
    functionSourceFile: /src/jsch/examples/ScpFrom.java
    functionUses: 0
    functionsReached:
    - '[java.io.OutputStream].write(ScpFrom,int,int)'
    - '[ScpFrom].replace(String,String)'
    - '[Subsystem.MyUserInfo].<init>()'
    - '[java.io.OutputStream].flush()'
    - '[java.io.File].isDirectory()'
    - '[com.jcraft.jsch.JSch].getSession(ScpFrom,ScpFrom,int)'
    - '[java.io.InputStream].read(ScpFrom,int,int)'
    - arg[0].indexOf(char)
    - arg[0].substring(int,ScpFrom)
    - '[java.io.File].<init>(ScpFrom)'
    - '[java.io.InputStream].read(ScpFrom,int,ScpFrom)'
    - '[ScpFrom].checkAck(java.io.InputStream)'
    - arg[0].substring(int)
    - '[java.io.FileOutputStream].<init>()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - fos.write(ScpFrom,int,ScpFrom)
    - System.exit()
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.Channel].getInputStream()'
    - '[com.jcraft.jsch.ChannelExec].setCommand(ScpFrom)'
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Session].disconnect()'
    - System.out.println(ScpFrom)
    - '[java.io.InputStream].read(ScpFrom,ScpFrom,int)'
    - System.exit(int)
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].connect()'
    - '[String].<init>(ScpFrom,int,ScpFrom)'
    - System.err.println(String)
    - '[com.jcraft.jsch.Channel].getOutputStream()'
    linkageType: ''
    returnType: void
    signature: '[ScpFrom].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].read()'
      Src: ScpFrom:149,1
    - Dst: '[StringBuilder].<init>()'
      Src: ScpFrom:160,1
    - Dst: '[java.io.InputStream].read()'
      Src: ScpFrom:163,1
    - Dst: '[StringBuilder].append(char)'
      Src: ScpFrom:164,1
    - Dst: System.out.print(StringBuilder)
      Src: ScpFrom:167,1
    - Dst: System.out.print(StringBuilder)
      Src: ScpFrom:170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - in
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 174
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 174
    functionName: '[ScpFrom].checkAck(java.io.InputStream)'
    functionSourceFile: /src/jsch/examples/ScpFrom.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].<init>()'
    - System.out.print(StringBuilder)
    - '[StringBuilder].append(char)'
    - '[java.io.InputStream].read()'
    linkageType: ''
    returnType: int
    signature: '[ScpFrom].checkAck(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ScpFrom
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[ScpFrom].<init>()'
    functionSourceFile: /src/jsch/examples/ScpFrom.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScpFrom
    signature: '[ScpFrom].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: '[ScpFrom.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/ScpFrom.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[ScpFrom.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,ScpFrom.MyUserInfo,ScpFrom.MyUserInfo,null,ScpFrom.MyUserInfo)'
      Src: ScpFrom.MyUserInfo:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: '[ScpFrom.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/ScpFrom.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,ScpFrom.MyUserInfo,ScpFrom.MyUserInfo,null,ScpFrom.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[ScpFrom.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: '[ScpFrom.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/ScpFrom.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[ScpFrom.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: '[ScpFrom.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/ScpFrom.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[ScpFrom.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,ScpFrom.MyUserInfo,String,ScpFrom.MyUserInfo)'
      Src: ScpFrom.MyUserInfo:206,1
    - Dst: '[JTextField].getText()'
      Src: ScpFrom.MyUserInfo:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: '[ScpFrom.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/ScpFrom.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,ScpFrom.MyUserInfo,String,ScpFrom.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[ScpFrom.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: ScpFrom.MyUserInfo:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: '[ScpFrom.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/ScpFrom.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[ScpFrom.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: ScpFrom.MyUserInfo:227,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: ScpFrom.MyUserInfo:228,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: ScpFrom.MyUserInfo:228,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: ScpFrom.MyUserInfo:233,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: ScpFrom.MyUserInfo:233,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: ScpFrom.MyUserInfo:243,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: ScpFrom.MyUserInfo:243,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: ScpFrom.MyUserInfo:249,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: ScpFrom.MyUserInfo:251,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: ScpFrom.MyUserInfo:253,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,ScpFrom.MyUserInfo,ScpFrom.MyUserInfo,ScpFrom.MyUserInfo)'
      Src: ScpFrom.MyUserInfo:257,1
    - Dst: texts[i].getText()
      Src: ScpFrom.MyUserInfo:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 267
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 267
    functionName: '[ScpFrom.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/ScpFrom.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,ScpFrom.MyUserInfo,ScpFrom.MyUserInfo,ScpFrom.MyUserInfo)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[ScpFrom.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: ScpFrom.MyUserInfo:191,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: ScpFrom.MyUserInfo:221,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,ScpFrom.MyUserInfo,ScpFrom.MyUserInfo,java.awt.Insets,int,int)'
      Src: ScpFrom.MyUserInfo:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ScpFrom.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[ScpFrom.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/ScpFrom.java
    functionUses: 0
    functionsReached:
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,ScpFrom.MyUserInfo,ScpFrom.MyUserInfo,java.awt.Insets,int,int)'
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: ScpFrom.MyUserInfo
    signature: '[ScpFrom.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: UserAuthPubKey:26,1
    - Dst: '[javax.swing.JFileChooser].<init>()'
      Src: UserAuthPubKey:28,1
    - Dst: '[javax.swing.JFileChooser].setDialogTitle(String)'
      Src: UserAuthPubKey:29,1
    - Dst: '[javax.swing.JFileChooser].setFileHidingEnabled(boolean)'
      Src: UserAuthPubKey:30,1
    - Dst: '[javax.swing.JFileChooser].showOpenDialog(null)'
      Src: UserAuthPubKey:31,1
    - Dst: System.out.println(String)
      Src: UserAuthPubKey:33,1
    - Dst: '[javax.swing.JFileChooser].getSelectedFile()'
      Src: UserAuthPubKey:34,1
    - Dst: '[UserAuthPubKey].getAbsolutePath()'
      Src: UserAuthPubKey:34,1
    - Dst: '[com.jcraft.jsch.JSch].addIdentity(UserAuthPubKey)'
      Src: UserAuthPubKey:34,1
    - Dst: System.getProperty(String)
      Src: UserAuthPubKey:44,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: UserAuthPubKey:43,1
    - Dst: '[UserAuthPubKey].indexOf(char)'
      Src: UserAuthPubKey:46,1
    - Dst: '[UserAuthPubKey].substring(int,UserAuthPubKey)'
      Src: UserAuthPubKey:46,1
    - Dst: '[UserAuthPubKey].indexOf(char)'
      Src: UserAuthPubKey:47,1
    - Dst: '[UserAuthPubKey].substring(int)'
      Src: UserAuthPubKey:47,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(UserAuthPubKey,UserAuthPubKey,int)'
      Src: UserAuthPubKey:49,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: UserAuthPubKey:52,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: UserAuthPubKey:53,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: UserAuthPubKey:54,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: UserAuthPubKey:56,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(UserAuthPubKey)'
      Src: UserAuthPubKey:58,1
    - Dst: '[com.jcraft.jsch.Channel].setOutputStream(UserAuthPubKey)'
      Src: UserAuthPubKey:59,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: UserAuthPubKey:61,1
    - Dst: System.out.println(UserAuthPubKey)
      Src: UserAuthPubKey:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 65
      start: 23
    functionDepth: 7
    functionLinenumber: 23
    functionLinenumberEnd: 65
    functionName: '[UserAuthPubKey].main(String[])'
    functionSourceFile: /src/jsch/examples/UserAuthPubKey.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Channel].setInputStream(UserAuthPubKey)'
    - '[Subsystem.MyUserInfo].<init>()'
    - '[UserAuthPubKey].substring(int,UserAuthPubKey)'
    - '[javax.swing.JFileChooser].showOpenDialog(null)'
    - '[javax.swing.JFileChooser].setDialogTitle(String)'
    - '[UserAuthPubKey].getAbsolutePath()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].addIdentity(UserAuthPubKey)'
    - '[javax.swing.JFileChooser].setFileHidingEnabled(boolean)'
    - '[UserAuthPubKey].substring(int)'
    - System.out.println(String)
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.JSch].getSession(UserAuthPubKey,UserAuthPubKey,int)'
    - '[javax.swing.JFileChooser].<init>()'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - '[UserAuthPubKey].indexOf(char)'
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Channel].setOutputStream(UserAuthPubKey)'
    - '[javax.swing.JFileChooser].getSelectedFile()'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].connect()'
    - System.out.println(UserAuthPubKey)
    - System.getProperty(String)
    linkageType: ''
    returnType: void
    signature: '[UserAuthPubKey].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: UserAuthPubKey
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[UserAuthPubKey].<init>()'
    functionSourceFile: /src/jsch/examples/UserAuthPubKey.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UserAuthPubKey
    signature: '[UserAuthPubKey].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[UserAuthPubKey.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/UserAuthPubKey.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[UserAuthPubKey.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,UserAuthPubKey.MyUserInfo,UserAuthPubKey.MyUserInfo,null,UserAuthPubKey.MyUserInfo)'
      Src: UserAuthPubKey.MyUserInfo:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: '[UserAuthPubKey.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/UserAuthPubKey.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,UserAuthPubKey.MyUserInfo,UserAuthPubKey.MyUserInfo,null,UserAuthPubKey.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[UserAuthPubKey.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[UserAuthPubKey.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/UserAuthPubKey.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[UserAuthPubKey.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,UserAuthPubKey.MyUserInfo,String,UserAuthPubKey.MyUserInfo)'
      Src: UserAuthPubKey.MyUserInfo:92,1
    - Dst: '[JTextField].getText()'
      Src: UserAuthPubKey.MyUserInfo:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: '[UserAuthPubKey.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/UserAuthPubKey.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,UserAuthPubKey.MyUserInfo,String,UserAuthPubKey.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[UserAuthPubKey.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[UserAuthPubKey.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/UserAuthPubKey.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[UserAuthPubKey.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: UserAuthPubKey.MyUserInfo:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: '[UserAuthPubKey.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/UserAuthPubKey.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[UserAuthPubKey.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: UserAuthPubKey.MyUserInfo:118,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: UserAuthPubKey.MyUserInfo:119,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: UserAuthPubKey.MyUserInfo:119,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: UserAuthPubKey.MyUserInfo:124,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: UserAuthPubKey.MyUserInfo:124,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: UserAuthPubKey.MyUserInfo:134,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: UserAuthPubKey.MyUserInfo:134,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: UserAuthPubKey.MyUserInfo:140,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: UserAuthPubKey.MyUserInfo:142,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: UserAuthPubKey.MyUserInfo:144,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,UserAuthPubKey.MyUserInfo,UserAuthPubKey.MyUserInfo,UserAuthPubKey.MyUserInfo)'
      Src: UserAuthPubKey.MyUserInfo:148,1
    - Dst: texts[i].getText()
      Src: UserAuthPubKey.MyUserInfo:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 158
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 158
    functionName: '[UserAuthPubKey.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/UserAuthPubKey.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,UserAuthPubKey.MyUserInfo,UserAuthPubKey.MyUserInfo,UserAuthPubKey.MyUserInfo)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[UserAuthPubKey.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: UserAuthPubKey.MyUserInfo:82,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: UserAuthPubKey.MyUserInfo:112,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,UserAuthPubKey.MyUserInfo,UserAuthPubKey.MyUserInfo,java.awt.Insets,int,int)'
      Src: UserAuthPubKey.MyUserInfo:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: UserAuthPubKey.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[UserAuthPubKey.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/UserAuthPubKey.java
    functionUses: 0
    functionsReached:
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,UserAuthPubKey.MyUserInfo,UserAuthPubKey.MyUserInfo,java.awt.Insets,int,int)'
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: UserAuthPubKey.MyUserInfo
    signature: '[UserAuthPubKey.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: PortForwardingL:29,1
    - Dst: System.getProperty(String)
      Src: PortForwardingL:36,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: PortForwardingL:35,1
    - Dst: '[PortForwardingL].indexOf(char)'
      Src: PortForwardingL:38,1
    - Dst: '[PortForwardingL].substring(int,PortForwardingL)'
      Src: PortForwardingL:38,1
    - Dst: '[PortForwardingL].indexOf(char)'
      Src: PortForwardingL:39,1
    - Dst: '[PortForwardingL].substring(int)'
      Src: PortForwardingL:39,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(PortForwardingL,PortForwardingL,int)'
      Src: PortForwardingL:41,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: PortForwardingL:43,1
    - Dst: '[PortForwardingL].indexOf(char)'
      Src: PortForwardingL:44,1
    - Dst: '[PortForwardingL].substring(int,PortForwardingL)'
      Src: PortForwardingL:44,1
    - Dst: Integer.parseInt(PortForwardingL)
      Src: PortForwardingL:44,1
    - Dst: '[PortForwardingL].indexOf(char)'
      Src: PortForwardingL:45,1
    - Dst: '[PortForwardingL].substring(int)'
      Src: PortForwardingL:45,1
    - Dst: '[PortForwardingL].indexOf(char)'
      Src: PortForwardingL:46,1
    - Dst: '[PortForwardingL].substring(int,PortForwardingL)'
      Src: PortForwardingL:46,1
    - Dst: '[PortForwardingL].indexOf(char)'
      Src: PortForwardingL:47,1
    - Dst: '[PortForwardingL].substring(int)'
      Src: PortForwardingL:47,1
    - Dst: Integer.parseInt(PortForwardingL)
      Src: PortForwardingL:47,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: PortForwardingL:50,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: PortForwardingL:51,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: PortForwardingL:53,1
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingL(PortForwardingL,PortForwardingL,PortForwardingL)'
      Src: PortForwardingL:58,1
    - Dst: System.out.println(PortForwardingL)
      Src: PortForwardingL:59,1
    - Dst: System.out.println(PortForwardingL)
      Src: PortForwardingL:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 63
      start: 22
    functionDepth: 7
    functionLinenumber: 22
    functionLinenumberEnd: 63
    functionName: '[PortForwardingL].main(String[])'
    functionSourceFile: /src/jsch/examples/PortForwardingL.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[PortForwardingL].indexOf(char)'
    - '[com.jcraft.jsch.JSch].getSession(PortForwardingL,PortForwardingL,int)'
    - '[com.jcraft.jsch.Session].setPortForwardingL(PortForwardingL,PortForwardingL,PortForwardingL)'
    - '[Subsystem.MyUserInfo].<init>()'
    - Integer.parseInt(PortForwardingL)
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - System.out.println(PortForwardingL)
    - System.getProperty(String)
    - '[PortForwardingL].substring(int)'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - '[PortForwardingL].substring(int,PortForwardingL)'
    linkageType: ''
    returnType: void
    signature: '[PortForwardingL].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: PortForwardingL
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[PortForwardingL].<init>()'
    functionSourceFile: /src/jsch/examples/PortForwardingL.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PortForwardingL
    signature: '[PortForwardingL].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[PortForwardingL.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/PortForwardingL.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[PortForwardingL.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,PortForwardingL.MyUserInfo,PortForwardingL.MyUserInfo,null,PortForwardingL.MyUserInfo)'
      Src: PortForwardingL.MyUserInfo:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: '[PortForwardingL.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/PortForwardingL.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,PortForwardingL.MyUserInfo,PortForwardingL.MyUserInfo,null,PortForwardingL.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[PortForwardingL.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[PortForwardingL.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/PortForwardingL.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[PortForwardingL.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[PortForwardingL.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/PortForwardingL.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[PortForwardingL.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,PortForwardingL.MyUserInfo,String,PortForwardingL.MyUserInfo)'
      Src: PortForwardingL.MyUserInfo:95,1
    - Dst: '[JTextField].getText()'
      Src: PortForwardingL.MyUserInfo:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: '[PortForwardingL.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/PortForwardingL.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showConfirmDialog(null,PortForwardingL.MyUserInfo,String,PortForwardingL.MyUserInfo)'
    - '[JTextField].getText()'
    linkageType: ''
    returnType: boolean
    signature: '[PortForwardingL.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: PortForwardingL.MyUserInfo:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: '[PortForwardingL.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/PortForwardingL.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[PortForwardingL.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: PortForwardingL.MyUserInfo:116,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: PortForwardingL.MyUserInfo:117,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: PortForwardingL.MyUserInfo:117,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: PortForwardingL.MyUserInfo:122,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: PortForwardingL.MyUserInfo:122,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: PortForwardingL.MyUserInfo:132,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: PortForwardingL.MyUserInfo:132,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: PortForwardingL.MyUserInfo:138,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: PortForwardingL.MyUserInfo:140,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: PortForwardingL.MyUserInfo:142,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,PortForwardingL.MyUserInfo,PortForwardingL.MyUserInfo,PortForwardingL.MyUserInfo)'
      Src: PortForwardingL.MyUserInfo:146,1
    - Dst: texts[i].getText()
      Src: PortForwardingL.MyUserInfo:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 156
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 156
    functionName: '[PortForwardingL.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/PortForwardingL.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,PortForwardingL.MyUserInfo,PortForwardingL.MyUserInfo,PortForwardingL.MyUserInfo)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[PortForwardingL.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: PortForwardingL.MyUserInfo:80,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: PortForwardingL.MyUserInfo:110,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,PortForwardingL.MyUserInfo,PortForwardingL.MyUserInfo,java.awt.Insets,int,int)'
      Src: PortForwardingL.MyUserInfo:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: PortForwardingL.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[PortForwardingL.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/PortForwardingL.java
    functionUses: 0
    functionsReached:
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,PortForwardingL.MyUserInfo,PortForwardingL.MyUserInfo,java.awt.Insets,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: PortForwardingL.MyUserInfo
    signature: '[PortForwardingL.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: ViaHTTP:28,1
    - Dst: System.getProperty(String)
      Src: ViaHTTP:35,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: ViaHTTP:34,1
    - Dst: '[ViaHTTP].indexOf(char)'
      Src: ViaHTTP:37,1
    - Dst: '[ViaHTTP].substring(int,ViaHTTP)'
      Src: ViaHTTP:37,1
    - Dst: '[ViaHTTP].indexOf(char)'
      Src: ViaHTTP:38,1
    - Dst: '[ViaHTTP].substring(int)'
      Src: ViaHTTP:38,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(ViaHTTP,ViaHTTP,int)'
      Src: ViaHTTP:40,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: ViaHTTP:42,1
    - Dst: '[ViaHTTP].indexOf(char)'
      Src: ViaHTTP:43,1
    - Dst: '[ViaHTTP].substring(int,ViaHTTP)'
      Src: ViaHTTP:43,1
    - Dst: '[ViaHTTP].indexOf(char)'
      Src: ViaHTTP:44,1
    - Dst: '[ViaHTTP].substring(int)'
      Src: ViaHTTP:44,1
    - Dst: Integer.parseInt(ViaHTTP)
      Src: ViaHTTP:44,1
    - Dst: '[com.jcraft.jsch.ProxyHTTP].<init>(ViaHTTP,ViaHTTP)'
      Src: ViaHTTP:46,1
    - Dst: '[com.jcraft.jsch.Session].setProxy(com.jcraft.jsch.ProxyHTTP)'
      Src: ViaHTTP:46,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: ViaHTTP:49,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: ViaHTTP:50,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: ViaHTTP:52,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: ViaHTTP:54,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(ViaHTTP)'
      Src: ViaHTTP:56,1
    - Dst: '[com.jcraft.jsch.Channel].setOutputStream(ViaHTTP)'
      Src: ViaHTTP:57,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: ViaHTTP:59,1
    - Dst: System.out.println(ViaHTTP)
      Src: ViaHTTP:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 63
      start: 22
    functionDepth: 7
    functionLinenumber: 22
    functionLinenumberEnd: 63
    functionName: '[ViaHTTP].main(String[])'
    functionSourceFile: /src/jsch/examples/ViaHTTP.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.Channel].setInputStream(ViaHTTP)'
    - '[ViaHTTP].substring(int,ViaHTTP)'
    - '[Subsystem.MyUserInfo].<init>()'
    - Integer.parseInt(ViaHTTP)
    - System.out.println(ViaHTTP)
    - '[com.jcraft.jsch.ProxyHTTP].<init>(ViaHTTP,ViaHTTP)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Session].setProxy(com.jcraft.jsch.ProxyHTTP)'
    - '[com.jcraft.jsch.Channel].connect()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].getSession(ViaHTTP,ViaHTTP,int)'
    - '[ViaHTTP].indexOf(char)'
    - '[com.jcraft.jsch.Channel].setOutputStream(ViaHTTP)'
    - System.getProperty(String)
    - '[ViaHTTP].substring(int)'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    linkageType: ''
    returnType: void
    signature: '[ViaHTTP].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ViaHTTP
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[ViaHTTP].<init>()'
    functionSourceFile: /src/jsch/examples/ViaHTTP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ViaHTTP
    signature: '[ViaHTTP].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[ViaHTTP.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/ViaHTTP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[ViaHTTP.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,ViaHTTP.MyUserInfo,ViaHTTP.MyUserInfo,null,ViaHTTP.MyUserInfo)'
      Src: ViaHTTP.MyUserInfo:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: '[ViaHTTP.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/ViaHTTP.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,ViaHTTP.MyUserInfo,ViaHTTP.MyUserInfo,null,ViaHTTP.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[ViaHTTP.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[ViaHTTP.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/ViaHTTP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[ViaHTTP.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[ViaHTTP.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/ViaHTTP.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[ViaHTTP.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,ViaHTTP.MyUserInfo,String,ViaHTTP.MyUserInfo)'
      Src: ViaHTTP.MyUserInfo:95,1
    - Dst: '[JTextField].getText()'
      Src: ViaHTTP.MyUserInfo:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: '[ViaHTTP.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/ViaHTTP.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,ViaHTTP.MyUserInfo,String,ViaHTTP.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[ViaHTTP.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: ViaHTTP.MyUserInfo:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: '[ViaHTTP.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/ViaHTTP.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[ViaHTTP.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: ViaHTTP.MyUserInfo:116,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: ViaHTTP.MyUserInfo:117,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: ViaHTTP.MyUserInfo:117,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: ViaHTTP.MyUserInfo:122,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: ViaHTTP.MyUserInfo:122,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: ViaHTTP.MyUserInfo:132,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: ViaHTTP.MyUserInfo:132,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: ViaHTTP.MyUserInfo:138,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: ViaHTTP.MyUserInfo:140,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: ViaHTTP.MyUserInfo:142,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,ViaHTTP.MyUserInfo,ViaHTTP.MyUserInfo,ViaHTTP.MyUserInfo)'
      Src: ViaHTTP.MyUserInfo:146,1
    - Dst: texts[i].getText()
      Src: ViaHTTP.MyUserInfo:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 156
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 156
    functionName: '[ViaHTTP.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/ViaHTTP.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,ViaHTTP.MyUserInfo,ViaHTTP.MyUserInfo,ViaHTTP.MyUserInfo)'
    linkageType: ''
    returnType: String[]
    signature: '[ViaHTTP.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: ViaHTTP.MyUserInfo:80,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: ViaHTTP.MyUserInfo:110,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,ViaHTTP.MyUserInfo,ViaHTTP.MyUserInfo,java.awt.Insets,int,int)'
      Src: ViaHTTP.MyUserInfo:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ViaHTTP.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[ViaHTTP.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/ViaHTTP.java
    functionUses: 0
    functionsReached:
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,ViaHTTP.MyUserInfo,ViaHTTP.MyUserInfo,java.awt.Insets,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: ViaHTTP.MyUserInfo
    signature: '[ViaHTTP.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: JumpHosts:26,1
    - Dst: System.out.println(String)
      Src: JumpHosts:29,1
    - Dst: System.exit()
      Src: JumpHosts:30,1
    - Dst: host.indexOf(char)
      Src: JumpHosts:37,1
    - Dst: host.substring(int,JumpHosts)
      Src: JumpHosts:37,1
    - Dst: host.indexOf(char)
      Src: JumpHosts:38,1
    - Dst: host.substring(int)
      Src: JumpHosts:38,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(JumpHosts,JumpHosts,int)'
      Src: JumpHosts:40,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: JumpHosts:41,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: JumpHosts:41,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: JumpHosts:42,1
    - Dst: System.out.println(JumpHosts)
      Src: JumpHosts:43,1
    - Dst: host.indexOf(char)
      Src: JumpHosts:47,1
    - Dst: host.substring(int,JumpHosts)
      Src: JumpHosts:47,1
    - Dst: host.indexOf(char)
      Src: JumpHosts:48,1
    - Dst: host.substring(int)
      Src: JumpHosts:48,1
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingL(int,JumpHosts,int)'
      Src: JumpHosts:50,1
    - Dst: System.out.println(int)
      Src: JumpHosts:51,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(JumpHosts,String,int)'
      Src: JumpHosts:53,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: JumpHosts:55,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: JumpHosts:55,1
    - Dst: '[com.jcraft.jsch.Session].setHostKeyAlias(JumpHosts)'
      Src: JumpHosts:56,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: JumpHosts:57,1
    - Dst: System.out.println(JumpHosts)
      Src: JumpHosts:58,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: JumpHosts:61,1
    - Dst: sftp.connect()
      Src: JumpHosts:63,1
    - Dst: '[ChannelSftp.LsEntrySelector].<init>()'
      Src: JumpHosts:64,1
    - Dst: sftp.ls(String,ChannelSftp.LsEntrySelector)
      Src: JumpHosts:64,1
    - Dst: sftp.disconnect()
      Src: JumpHosts:71,1
    - Dst: sessions[i].disconnect()
      Src: JumpHosts:74,1
    - Dst: System.out.println(JumpHosts)
      Src: JumpHosts:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 63
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 79
      start: 23
    functionDepth: 7
    functionLinenumber: 23
    functionLinenumberEnd: 79
    functionName: '[JumpHosts].main(String[])'
    functionSourceFile: /src/jsch/examples/JumpHosts.java
    functionUses: 0
    functionsReached:
    - System.out.println(JumpHosts)
    - '[Subsystem.MyUserInfo].<init>()'
    - '[com.jcraft.jsch.Session].setHostKeyAlias(JumpHosts)'
    - '[com.jcraft.jsch.JSch].getSession(JumpHosts,String,int)'
    - '[ChannelSftp.LsEntrySelector].<init>()'
    - sftp.ls(String,ChannelSftp.LsEntrySelector)
    - host.substring(int)
    - '[com.jcraft.jsch.JSch].<init>()'
    - sftp.connect()
    - '[com.jcraft.jsch.JSch].getSession(JumpHosts,JumpHosts,int)'
    - System.out.println(String)
    - System.exit()
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - System.out.println(int)
    - host.indexOf(char)
    - '[com.jcraft.jsch.Session].setPortForwardingL(int,JumpHosts,int)'
    - host.substring(int,JumpHosts)
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - sessions[i].disconnect()
    - '[com.jcraft.jsch.Session].connect()'
    - sftp.disconnect()
    linkageType: ''
    returnType: void
    signature: '[JumpHosts].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: JumpHosts
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[JumpHosts].<init>()'
    functionSourceFile: /src/jsch/examples/JumpHosts.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JumpHosts
    signature: '[JumpHosts].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[JumpHosts.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/JumpHosts.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[JumpHosts.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,JumpHosts.MyUserInfo,JumpHosts.MyUserInfo,null,JumpHosts.MyUserInfo)'
      Src: JumpHosts.MyUserInfo:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: '[JumpHosts.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/JumpHosts.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,JumpHosts.MyUserInfo,JumpHosts.MyUserInfo,null,JumpHosts.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[JumpHosts.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[JumpHosts.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/JumpHosts.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[JumpHosts.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '[JumpHosts.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/JumpHosts.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[JumpHosts.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,JumpHosts.MyUserInfo,String,JumpHosts.MyUserInfo)'
      Src: JumpHosts.MyUserInfo:111,1
    - Dst: '[JTextField].getText()'
      Src: JumpHosts.MyUserInfo:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: '[JumpHosts.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/JumpHosts.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,JumpHosts.MyUserInfo,String,JumpHosts.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[JumpHosts.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: JumpHosts.MyUserInfo:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: '[JumpHosts.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/JumpHosts.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[JumpHosts.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: JumpHosts.MyUserInfo:132,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: JumpHosts.MyUserInfo:133,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: JumpHosts.MyUserInfo:133,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: JumpHosts.MyUserInfo:138,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: JumpHosts.MyUserInfo:138,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: JumpHosts.MyUserInfo:148,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: JumpHosts.MyUserInfo:148,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: JumpHosts.MyUserInfo:154,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: JumpHosts.MyUserInfo:156,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: JumpHosts.MyUserInfo:158,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,JumpHosts.MyUserInfo,JumpHosts.MyUserInfo,JumpHosts.MyUserInfo)'
      Src: JumpHosts.MyUserInfo:162,1
    - Dst: texts[i].getText()
      Src: JumpHosts.MyUserInfo:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 172
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 172
    functionName: '[JumpHosts.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/JumpHosts.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,JumpHosts.MyUserInfo,JumpHosts.MyUserInfo,JumpHosts.MyUserInfo)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[JumpHosts.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: JumpHosts.MyUserInfo:96,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: JumpHosts.MyUserInfo:126,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,JumpHosts.MyUserInfo,JumpHosts.MyUserInfo,java.awt.Insets,int,int)'
      Src: JumpHosts.MyUserInfo:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: JumpHosts.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[JumpHosts.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/JumpHosts.java
    functionUses: 0
    functionsReached:
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,JumpHosts.MyUserInfo,JumpHosts.MyUserInfo,java.awt.Insets,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: JumpHosts.MyUserInfo
    signature: '[JumpHosts.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: KnownHosts:29,1
    - Dst: '[javax.swing.JFileChooser].<init>()'
      Src: KnownHosts:31,1
    - Dst: '[javax.swing.JFileChooser].setDialogTitle(String)'
      Src: KnownHosts:32,1
    - Dst: '[javax.swing.JFileChooser].setFileHidingEnabled(boolean)'
      Src: KnownHosts:33,1
    - Dst: '[javax.swing.JFileChooser].showOpenDialog(null)'
      Src: KnownHosts:34,1
    - Dst: System.out.println(String)
      Src: KnownHosts:36,1
    - Dst: '[javax.swing.JFileChooser].getSelectedFile()'
      Src: KnownHosts:37,1
    - Dst: '[com.jcraft.jsch.KnownHosts].getAbsolutePath()'
      Src: KnownHosts:37,1
    - Dst: '[com.jcraft.jsch.JSch].setKnownHosts(KnownHosts)'
      Src: KnownHosts:37,1
    - Dst: '[com.jcraft.jsch.JSch].getHostKeyRepository()'
      Src: KnownHosts:40,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].getHostKey()'
      Src: KnownHosts:41,1
    - Dst: '[com.jcraft.jsch.HostKeyRepository].getKnownHostsRepositoryID()'
      Src: KnownHosts:43,1
    - Dst: System.out.println(String)
      Src: KnownHosts:43,1
    - Dst: hk.getFingerPrint(com.jcraft.jsch.JSch)
      Src: KnownHosts:45,1
    - Dst: System.out.println(KnownHosts)
      Src: KnownHosts:45,1
    - Dst: System.out.println(String)
      Src: KnownHosts:47,1
    - Dst: System.getProperty(String)
      Src: KnownHosts:55,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: KnownHosts:54,1
    - Dst: '[com.jcraft.jsch.KnownHosts].indexOf(char)'
      Src: KnownHosts:57,1
    - Dst: '[com.jcraft.jsch.KnownHosts].substring(int,KnownHosts)'
      Src: KnownHosts:57,1
    - Dst: '[com.jcraft.jsch.KnownHosts].indexOf(char)'
      Src: KnownHosts:58,1
    - Dst: '[com.jcraft.jsch.KnownHosts].substring(int)'
      Src: KnownHosts:58,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(KnownHosts,KnownHosts,int)'
      Src: KnownHosts:60,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: KnownHosts:63,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: KnownHosts:64,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: KnownHosts:69,1
    - Dst: '[com.jcraft.jsch.Session].getHostKey()'
      Src: KnownHosts:72,1
    - Dst: '[com.jcraft.jsch.HostKey].getFingerPrint(com.jcraft.jsch.JSch)'
      Src: KnownHosts:74,1
    - Dst: System.out.println(KnownHosts)
      Src: KnownHosts:73,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: KnownHosts:77,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(KnownHosts)'
      Src: KnownHosts:79,1
    - Dst: '[com.jcraft.jsch.Channel].setOutputStream(KnownHosts)'
      Src: KnownHosts:80,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: KnownHosts:82,1
    - Dst: System.out.println(KnownHosts)
      Src: KnownHosts:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 86
      start: 26
    functionDepth: 7
    functionLinenumber: 26
    functionLinenumberEnd: 86
    functionName: '[com.jcraft.jsch.KnownHosts].main(String[])'
    functionSourceFile: /src/jsch/examples/KnownHosts.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.KnownHosts].substring(int,KnownHosts)'
    - '[Subsystem.MyUserInfo].<init>()'
    - '[javax.swing.JFileChooser].showOpenDialog(null)'
    - '[com.jcraft.jsch.KnownHosts].getAbsolutePath()'
    - hk.getFingerPrint(com.jcraft.jsch.JSch)
    - '[javax.swing.JFileChooser].setDialogTitle(String)'
    - '[com.jcraft.jsch.HostKey].getFingerPrint(com.jcraft.jsch.JSch)'
    - '[com.jcraft.jsch.KnownHosts].indexOf(char)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.JSch].setKnownHosts(KnownHosts)'
    - '[javax.swing.JFileChooser].setFileHidingEnabled(boolean)'
    - System.out.println(String)
    - '[com.jcraft.jsch.Session].getHostKey()'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.Channel].setOutputStream(KnownHosts)'
    - '[javax.swing.JFileChooser].<init>()'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.JSch].getSession(KnownHosts,KnownHosts,int)'
    - System.out.println(KnownHosts)
    - '[javax.swing.JFileChooser].getSelectedFile()'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].connect()'
    - '[com.jcraft.jsch.KnownHosts].substring(int)'
    - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
    - System.getProperty(String)
    - '[com.jcraft.jsch.HostKeyRepository].getKnownHostsRepositoryID()'
    - '[com.jcraft.jsch.HostKeyRepository].getHostKey()'
    - '[com.jcraft.jsch.Channel].setInputStream(KnownHosts)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.KnownHosts].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.KnownHosts
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.KnownHosts].<init>()'
    functionSourceFile: /src/jsch/examples/KnownHosts.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.KnownHosts
    signature: '[com.jcraft.jsch.KnownHosts].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: '[KnownHosts.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/KnownHosts.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[KnownHosts.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,KnownHosts.MyUserInfo,KnownHosts.MyUserInfo,null,KnownHosts.MyUserInfo)'
      Src: KnownHosts.MyUserInfo:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: '[KnownHosts.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/KnownHosts.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,KnownHosts.MyUserInfo,KnownHosts.MyUserInfo,null,KnownHosts.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[KnownHosts.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: '[KnownHosts.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/KnownHosts.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[KnownHosts.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: '[KnownHosts.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/KnownHosts.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[KnownHosts.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,KnownHosts.MyUserInfo,String,KnownHosts.MyUserInfo)'
      Src: KnownHosts.MyUserInfo:113,1
    - Dst: '[JTextField].getText()'
      Src: KnownHosts.MyUserInfo:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: '[KnownHosts.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/KnownHosts.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,KnownHosts.MyUserInfo,String,KnownHosts.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[KnownHosts.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: KnownHosts.MyUserInfo:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: '[KnownHosts.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/KnownHosts.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[KnownHosts.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: KnownHosts.MyUserInfo:132,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: KnownHosts.MyUserInfo:133,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: KnownHosts.MyUserInfo:133,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: KnownHosts.MyUserInfo:138,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: KnownHosts.MyUserInfo:138,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: KnownHosts.MyUserInfo:148,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: KnownHosts.MyUserInfo:148,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: KnownHosts.MyUserInfo:154,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: KnownHosts.MyUserInfo:156,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: KnownHosts.MyUserInfo:158,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,KnownHosts.MyUserInfo,KnownHosts.MyUserInfo,KnownHosts.MyUserInfo)'
      Src: KnownHosts.MyUserInfo:162,1
    - Dst: texts[i].getText()
      Src: KnownHosts.MyUserInfo:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 172
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 172
    functionName: '[KnownHosts.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/KnownHosts.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,KnownHosts.MyUserInfo,KnownHosts.MyUserInfo,KnownHosts.MyUserInfo)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[KnownHosts.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: KnownHosts.MyUserInfo:101,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: KnownHosts.MyUserInfo:127,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,KnownHosts.MyUserInfo,KnownHosts.MyUserInfo,java.awt.Insets,int,int)'
      Src: KnownHosts.MyUserInfo:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: KnownHosts.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[KnownHosts.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/KnownHosts.java
    functionUses: 0
    functionsReached:
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,KnownHosts.MyUserInfo,KnownHosts.MyUserInfo,java.awt.Insets,int,int)'
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: KnownHosts.MyUserInfo
    signature: '[KnownHosts.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: PortForwardingR:29,1
    - Dst: System.getProperty(String)
      Src: PortForwardingR:36,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: PortForwardingR:35,1
    - Dst: '[PortForwardingR].indexOf(char)'
      Src: PortForwardingR:38,1
    - Dst: '[PortForwardingR].substring(int,PortForwardingR)'
      Src: PortForwardingR:38,1
    - Dst: '[PortForwardingR].indexOf(char)'
      Src: PortForwardingR:39,1
    - Dst: '[PortForwardingR].substring(int)'
      Src: PortForwardingR:39,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(PortForwardingR,PortForwardingR,int)'
      Src: PortForwardingR:41,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: PortForwardingR:43,1
    - Dst: '[PortForwardingR].indexOf(char)'
      Src: PortForwardingR:44,1
    - Dst: '[PortForwardingR].substring(int,PortForwardingR)'
      Src: PortForwardingR:44,1
    - Dst: Integer.parseInt(PortForwardingR)
      Src: PortForwardingR:44,1
    - Dst: '[PortForwardingR].indexOf(char)'
      Src: PortForwardingR:45,1
    - Dst: '[PortForwardingR].substring(int)'
      Src: PortForwardingR:45,1
    - Dst: '[PortForwardingR].indexOf(char)'
      Src: PortForwardingR:46,1
    - Dst: '[PortForwardingR].substring(int,PortForwardingR)'
      Src: PortForwardingR:46,1
    - Dst: '[PortForwardingR].indexOf(char)'
      Src: PortForwardingR:47,1
    - Dst: '[PortForwardingR].substring(int)'
      Src: PortForwardingR:47,1
    - Dst: Integer.parseInt(PortForwardingR)
      Src: PortForwardingR:47,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: PortForwardingR:50,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: PortForwardingR:51,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: PortForwardingR:53,1
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingR(PortForwardingR,PortForwardingR,PortForwardingR)'
      Src: PortForwardingR:58,1
    - Dst: System.out.println(PortForwardingR)
      Src: PortForwardingR:60,1
    - Dst: System.out.println(PortForwardingR)
      Src: PortForwardingR:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 64
      start: 22
    functionDepth: 7
    functionLinenumber: 22
    functionLinenumberEnd: 64
    functionName: '[PortForwardingR].main(String[])'
    functionSourceFile: /src/jsch/examples/PortForwardingR.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[Subsystem.MyUserInfo].<init>()'
    - System.out.println(PortForwardingR)
    - '[PortForwardingR].indexOf(char)'
    - '[com.jcraft.jsch.JSch].getSession(PortForwardingR,PortForwardingR,int)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.Session].setPortForwardingR(PortForwardingR,PortForwardingR,PortForwardingR)'
    - Integer.parseInt(PortForwardingR)
    - '[PortForwardingR].substring(int)'
    - System.getProperty(String)
    - '[PortForwardingR].substring(int,PortForwardingR)'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    linkageType: ''
    returnType: void
    signature: '[PortForwardingR].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: PortForwardingR
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[PortForwardingR].<init>()'
    functionSourceFile: /src/jsch/examples/PortForwardingR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PortForwardingR
    signature: '[PortForwardingR].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[PortForwardingR.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/PortForwardingR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[PortForwardingR.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,PortForwardingR.MyUserInfo,PortForwardingR.MyUserInfo,null,PortForwardingR.MyUserInfo)'
      Src: PortForwardingR.MyUserInfo:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: '[PortForwardingR.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/PortForwardingR.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,PortForwardingR.MyUserInfo,PortForwardingR.MyUserInfo,null,PortForwardingR.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[PortForwardingR.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[PortForwardingR.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/PortForwardingR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[PortForwardingR.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[PortForwardingR.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/PortForwardingR.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[PortForwardingR.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,PortForwardingR.MyUserInfo,String,PortForwardingR.MyUserInfo)'
      Src: PortForwardingR.MyUserInfo:96,1
    - Dst: '[JTextField].getText()'
      Src: PortForwardingR.MyUserInfo:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: '[PortForwardingR.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/PortForwardingR.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,PortForwardingR.MyUserInfo,String,PortForwardingR.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[PortForwardingR.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: PortForwardingR.MyUserInfo:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: '[PortForwardingR.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/PortForwardingR.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[PortForwardingR.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: PortForwardingR.MyUserInfo:117,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: PortForwardingR.MyUserInfo:118,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: PortForwardingR.MyUserInfo:118,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: PortForwardingR.MyUserInfo:123,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: PortForwardingR.MyUserInfo:123,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: PortForwardingR.MyUserInfo:133,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: PortForwardingR.MyUserInfo:133,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: PortForwardingR.MyUserInfo:139,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: PortForwardingR.MyUserInfo:141,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: PortForwardingR.MyUserInfo:143,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,PortForwardingR.MyUserInfo,PortForwardingR.MyUserInfo,PortForwardingR.MyUserInfo)'
      Src: PortForwardingR.MyUserInfo:147,1
    - Dst: texts[i].getText()
      Src: PortForwardingR.MyUserInfo:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 157
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 157
    functionName: '[PortForwardingR.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/PortForwardingR.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,PortForwardingR.MyUserInfo,PortForwardingR.MyUserInfo,PortForwardingR.MyUserInfo)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[PortForwardingR.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: PortForwardingR.MyUserInfo:81,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: PortForwardingR.MyUserInfo:111,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,PortForwardingR.MyUserInfo,PortForwardingR.MyUserInfo,java.awt.Insets,int,int)'
      Src: PortForwardingR.MyUserInfo:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: PortForwardingR.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[PortForwardingR.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/PortForwardingR.java
    functionUses: 0
    functionsReached:
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,PortForwardingR.MyUserInfo,PortForwardingR.MyUserInfo,java.awt.Insets,int,int)'
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: PortForwardingR.MyUserInfo
    signature: '[PortForwardingR.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.err.println(String)
      Src: KeyGen:16,1
    - Dst: System.exit()
      Src: KeyGen:21,1
    - Dst: _type.equals(String)
      Src: KeyGen:25,1
    - Dst: _type.equals(String)
      Src: KeyGen:27,1
    - Dst: _type.equals(String)
      Src: KeyGen:29,1
    - Dst: _type.equals(String)
      Src: KeyGen:32,1
    - Dst: _type.equals(String)
      Src: KeyGen:35,1
    - Dst: System.err.println(String)
      Src: KeyGen:39,1
    - Dst: System.exit()
      Src: KeyGen:44,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: KeyGen:49,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: KeyGen:52,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,KeyGen,String,KeyGen)'
      Src: KeyGen:54,1
    - Dst: '[javax.swing.JPasswordField].getText()'
      Src: KeyGen:57,1
    - Dst: '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,KeyGen,KeyGen)'
      Src: KeyGen:61,1
    - Dst: '[KeyGen].getBytes()'
      Src: KeyGen:62,1
    - Dst: '[com.jcraft.jsch.KeyPair].writePrivateKey(KeyGen,KeyGen)'
      Src: KeyGen:62,1
    - Dst: '[com.jcraft.jsch.KeyPair].writePublicKey(String,KeyGen)'
      Src: KeyGen:63,1
    - Dst: '[com.jcraft.jsch.KeyPair].getFingerPrint()'
      Src: KeyGen:64,1
    - Dst: System.out.println(String)
      Src: KeyGen:64,1
    - Dst: '[com.jcraft.jsch.KeyPair].dispose()'
      Src: KeyGen:65,1
    - Dst: System.out.println(KeyGen)
      Src: KeyGen:67,1
    - Dst: System.exit(int)
      Src: KeyGen:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 70
      start: 13
    functionDepth: 3
    functionLinenumber: 13
    functionLinenumberEnd: 70
    functionName: '[KeyGen].main(String[])'
    functionSourceFile: /src/jsch/examples/KeyGen.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showConfirmDialog(null,KeyGen,String,KeyGen)'
    - _type.equals(String)
    - '[javax.swing.JPasswordField].getText()'
    - '[com.jcraft.jsch.KeyPair].getFingerPrint()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,KeyGen,KeyGen)'
    - System.exit(int)
    - '[com.jcraft.jsch.KeyPair].dispose()'
    - System.out.println(KeyGen)
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.KeyPair].writePrivateKey(KeyGen,KeyGen)'
    - System.out.println(String)
    - System.err.println(String)
    - '[com.jcraft.jsch.KeyPair].writePublicKey(String,KeyGen)'
    - System.exit()
    - '[KeyGen].getBytes()'
    linkageType: ''
    returnType: void
    signature: '[KeyGen].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: KeyGen
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[KeyGen].<init>()'
    functionSourceFile: /src/jsch/examples/KeyGen.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyGen
    signature: '[KeyGen].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.err.println(String)
      Src: ChangePassphrase:16,1
    - Dst: System.exit()
      Src: ChangePassphrase:17,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: ChangePassphrase:20,1
    - Dst: '[com.jcraft.jsch.KeyPair].load(com.jcraft.jsch.JSch,ChangePassphrase)'
      Src: ChangePassphrase:25,1
    - Dst: System.out.println(String)
      Src: ChangePassphrase:27,1
    - Dst: '[com.jcraft.jsch.KeyPair].isEncrypted()'
      Src: ChangePassphrase:31,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: ChangePassphrase:32,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,ChangePassphrase,String,ChangePassphrase)'
      Src: ChangePassphrase:34,1
    - Dst: System.exit()
      Src: ChangePassphrase:37,1
    - Dst: '[javax.swing.JPasswordField].getText()'
      Src: ChangePassphrase:39,1
    - Dst: '[com.jcraft.jsch.KeyPair].decrypt(ChangePassphrase)'
      Src: ChangePassphrase:40,1
    - Dst: System.out.println(String)
      Src: ChangePassphrase:41,1
    - Dst: System.out.println(String)
      Src: ChangePassphrase:43,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: ChangePassphrase:49,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,ChangePassphrase,String,ChangePassphrase)'
      Src: ChangePassphrase:51,1
    - Dst: System.exit()
      Src: ChangePassphrase:55,1
    - Dst: '[javax.swing.JPasswordField].getText()'
      Src: ChangePassphrase:57,1
    - Dst: '[ChangePassphrase].getBytes()'
      Src: ChangePassphrase:59,1
    - Dst: '[com.jcraft.jsch.KeyPair].writePrivateKey(ChangePassphrase,ChangePassphrase)'
      Src: ChangePassphrase:59,1
    - Dst: '[com.jcraft.jsch.KeyPair].dispose()'
      Src: ChangePassphrase:60,1
    - Dst: System.out.println(ChangePassphrase)
      Src: ChangePassphrase:62,1
    - Dst: System.exit(int)
      Src: ChangePassphrase:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 65
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 65
    functionName: '[ChangePassphrase].main(String[])'
    functionSourceFile: /src/jsch/examples/ChangePassphrase.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JPasswordField].getText()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[ChangePassphrase].getBytes()'
    - System.exit(int)
    - System.out.println(ChangePassphrase)
    - '[com.jcraft.jsch.KeyPair].decrypt(ChangePassphrase)'
    - '[com.jcraft.jsch.KeyPair].writePrivateKey(ChangePassphrase,ChangePassphrase)'
    - '[com.jcraft.jsch.KeyPair].dispose()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.KeyPair].isEncrypted()'
    - '[com.jcraft.jsch.KeyPair].load(com.jcraft.jsch.JSch,ChangePassphrase)'
    - System.err.println(String)
    - System.out.println(String)
    - System.exit()
    - '[javax.swing.JOptionPane].showConfirmDialog(null,ChangePassphrase,String,ChangePassphrase)'
    linkageType: ''
    returnType: void
    signature: '[ChangePassphrase].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChangePassphrase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[ChangePassphrase].<init>()'
    functionSourceFile: /src/jsch/examples/ChangePassphrase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChangePassphrase
    signature: '[ChangePassphrase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.err.println(String)
      Src: ScpToNoneCipher:29,1
    - Dst: System.exit()
      Src: ScpToNoneCipher:30,1
    - Dst: arg[1].indexOf(char)
      Src: ScpToNoneCipher:36,1
    - Dst: arg[1].substring(int,ScpToNoneCipher)
      Src: ScpToNoneCipher:36,1
    - Dst: arg[1].indexOf(char)
      Src: ScpToNoneCipher:37,1
    - Dst: arg[1].substring(int)
      Src: ScpToNoneCipher:37,1
    - Dst: arg[1].indexOf(char)
      Src: ScpToNoneCipher:38,1
    - Dst: arg[1].substring(int,ScpToNoneCipher)
      Src: ScpToNoneCipher:38,1
    - Dst: arg[1].indexOf(char)
      Src: ScpToNoneCipher:39,1
    - Dst: arg[1].substring(int)
      Src: ScpToNoneCipher:39,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: ScpToNoneCipher:41,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(ScpToNoneCipher,ScpToNoneCipher,int)'
      Src: ScpToNoneCipher:42,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: ScpToNoneCipher:45,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: ScpToNoneCipher:46,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: ScpToNoneCipher:47,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: ScpToNoneCipher:49,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: ScpToNoneCipher:50,1
    - Dst: '[com.jcraft.jsch.Session].rekey()'
      Src: ScpToNoneCipher:52,1
    - Dst: '[ScpToNoneCipher].replace(String,String)'
      Src: ScpToNoneCipher:55,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: ScpToNoneCipher:58,1
    - Dst: '[com.jcraft.jsch.ChannelExec].setCommand(ScpToNoneCipher)'
      Src: ScpToNoneCipher:59,1
    - Dst: '[com.jcraft.jsch.Channel].getOutputStream()'
      Src: ScpToNoneCipher:62,1
    - Dst: '[com.jcraft.jsch.Channel].getInputStream()'
      Src: ScpToNoneCipher:63,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: ScpToNoneCipher:65,1
    - Dst: '[ScpToNoneCipher].checkAck(java.io.InputStream)'
      Src: ScpToNoneCipher:67,1
    - Dst: System.exit(int)
      Src: ScpToNoneCipher:68,1
    - Dst: '[java.io.File].<init>(ScpToNoneCipher)'
      Src: ScpToNoneCipher:71,1
    - Dst: '[java.io.File].lastModified()'
      Src: ScpToNoneCipher:73,1
    - Dst: '[java.io.File].lastModified()'
      Src: ScpToNoneCipher:76,1
    - Dst: command.getBytes()
      Src: ScpToNoneCipher:77,1
    - Dst: '[java.io.OutputStream].write(ScpToNoneCipher)'
      Src: ScpToNoneCipher:77,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: ScpToNoneCipher:78,1
    - Dst: '[ScpToNoneCipher].checkAck(java.io.InputStream)'
      Src: ScpToNoneCipher:79,1
    - Dst: System.exit(int)
      Src: ScpToNoneCipher:80,1
    - Dst: '[java.io.File].length()'
      Src: ScpToNoneCipher:84,1
    - Dst: lfile.lastIndexOf(char)
      Src: ScpToNoneCipher:86,1
    - Dst: lfile.lastIndexOf(char)
      Src: ScpToNoneCipher:87,1
    - Dst: lfile.substring(int)
      Src: ScpToNoneCipher:87,1
    - Dst: command.getBytes()
      Src: ScpToNoneCipher:92,1
    - Dst: '[java.io.OutputStream].write(ScpToNoneCipher)'
      Src: ScpToNoneCipher:92,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: ScpToNoneCipher:93,1
    - Dst: '[ScpToNoneCipher].checkAck(java.io.InputStream)'
      Src: ScpToNoneCipher:95,1
    - Dst: System.exit(int)
      Src: ScpToNoneCipher:96,1
    - Dst: '[java.io.FileInputStream].<init>(ScpToNoneCipher)'
      Src: ScpToNoneCipher:102,1
    - Dst: fis.read(ScpToNoneCipher,int,ScpToNoneCipher)
      Src: ScpToNoneCipher:104,1
    - Dst: '[java.io.OutputStream].write(ScpToNoneCipher,int,ScpToNoneCipher)'
      Src: ScpToNoneCipher:107,1
    - Dst: '[java.io.OutputStream].write(ScpToNoneCipher,int,int)'
      Src: ScpToNoneCipher:114,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: ScpToNoneCipher:115,1
    - Dst: '[ScpToNoneCipher].checkAck(java.io.InputStream)'
      Src: ScpToNoneCipher:117,1
    - Dst: System.exit(int)
      Src: ScpToNoneCipher:118,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: ScpToNoneCipher:121,1
    - Dst: System.exit(int)
      Src: ScpToNoneCipher:123,1
    - Dst: System.out.println(ScpToNoneCipher)
      Src: ScpToNoneCipher:125,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 87
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 127
      start: 27
    functionDepth: 7
    functionLinenumber: 27
    functionLinenumberEnd: 127
    functionName: '[ScpToNoneCipher].main(String[])'
    functionSourceFile: /src/jsch/examples/ScpToNoneCipher.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].rekey()'
    - '[java.io.OutputStream].write(ScpToNoneCipher)'
    - '[Subsystem.MyUserInfo].<init>()'
    - '[java.io.OutputStream].flush()'
    - '[ScpToNoneCipher].replace(String,String)'
    - arg[1].substring(int,ScpToNoneCipher)
    - arg[1].indexOf(char)
    - '[java.io.FileInputStream].<init>(ScpToNoneCipher)'
    - System.out.println(ScpToNoneCipher)
    - arg[1].substring(int)
    - command.getBytes()
    - lfile.substring(int)
    - '[com.jcraft.jsch.JSch].<init>()'
    - lfile.lastIndexOf(char)
    - System.exit()
    - '[java.io.OutputStream].write(ScpToNoneCipher,int,int)'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.Channel].getInputStream()'
    - '[ScpToNoneCipher].checkAck(java.io.InputStream)'
    - '[java.io.File].length()'
    - '[com.jcraft.jsch.JSch].getSession(ScpToNoneCipher,ScpToNoneCipher,int)'
    - '[com.jcraft.jsch.ChannelExec].setCommand(ScpToNoneCipher)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[java.io.File].lastModified()'
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[java.io.OutputStream].write(ScpToNoneCipher,int,ScpToNoneCipher)'
    - fis.read(ScpToNoneCipher,int,ScpToNoneCipher)
    - System.exit(int)
    - '[java.io.File].<init>(ScpToNoneCipher)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].connect()'
    - System.err.println(String)
    - '[com.jcraft.jsch.Channel].getOutputStream()'
    linkageType: ''
    returnType: void
    signature: '[ScpToNoneCipher].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].read()'
      Src: ScpToNoneCipher:130,1
    - Dst: '[StringBuilder].<init>()'
      Src: ScpToNoneCipher:141,1
    - Dst: '[java.io.InputStream].read()'
      Src: ScpToNoneCipher:144,1
    - Dst: '[StringBuilder].append(char)'
      Src: ScpToNoneCipher:145,1
    - Dst: System.out.print(StringBuilder)
      Src: ScpToNoneCipher:148,1
    - Dst: System.out.print(StringBuilder)
      Src: ScpToNoneCipher:151,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - in
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 155
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 155
    functionName: '[ScpToNoneCipher].checkAck(java.io.InputStream)'
    functionSourceFile: /src/jsch/examples/ScpToNoneCipher.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].<init>()'
    - System.out.print(StringBuilder)
    - '[StringBuilder].append(char)'
    - '[java.io.InputStream].read()'
    linkageType: ''
    returnType: int
    signature: '[ScpToNoneCipher].checkAck(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ScpToNoneCipher
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[ScpToNoneCipher].<init>()'
    functionSourceFile: /src/jsch/examples/ScpToNoneCipher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScpToNoneCipher
    signature: '[ScpToNoneCipher].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: '[ScpToNoneCipher.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/ScpToNoneCipher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[ScpToNoneCipher.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,ScpToNoneCipher.MyUserInfo,ScpToNoneCipher.MyUserInfo,null,ScpToNoneCipher.MyUserInfo)'
      Src: ScpToNoneCipher.MyUserInfo:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: '[ScpToNoneCipher.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/ScpToNoneCipher.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,ScpToNoneCipher.MyUserInfo,ScpToNoneCipher.MyUserInfo,null,ScpToNoneCipher.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[ScpToNoneCipher.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: '[ScpToNoneCipher.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/ScpToNoneCipher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[ScpToNoneCipher.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: '[ScpToNoneCipher.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/ScpToNoneCipher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[ScpToNoneCipher.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,ScpToNoneCipher.MyUserInfo,String,ScpToNoneCipher.MyUserInfo)'
      Src: ScpToNoneCipher.MyUserInfo:187,1
    - Dst: '[JTextField].getText()'
      Src: ScpToNoneCipher.MyUserInfo:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: '[ScpToNoneCipher.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/ScpToNoneCipher.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,ScpToNoneCipher.MyUserInfo,String,ScpToNoneCipher.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[ScpToNoneCipher.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: ScpToNoneCipher.MyUserInfo:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: '[ScpToNoneCipher.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/ScpToNoneCipher.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[ScpToNoneCipher.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: ScpToNoneCipher.MyUserInfo:208,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: ScpToNoneCipher.MyUserInfo:209,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: ScpToNoneCipher.MyUserInfo:209,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: ScpToNoneCipher.MyUserInfo:214,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: ScpToNoneCipher.MyUserInfo:214,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: ScpToNoneCipher.MyUserInfo:224,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: ScpToNoneCipher.MyUserInfo:224,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: ScpToNoneCipher.MyUserInfo:230,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: ScpToNoneCipher.MyUserInfo:232,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: ScpToNoneCipher.MyUserInfo:234,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,ScpToNoneCipher.MyUserInfo,ScpToNoneCipher.MyUserInfo,ScpToNoneCipher.MyUserInfo)'
      Src: ScpToNoneCipher.MyUserInfo:238,1
    - Dst: texts[i].getText()
      Src: ScpToNoneCipher.MyUserInfo:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 248
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 248
    functionName: '[ScpToNoneCipher.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/ScpToNoneCipher.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,ScpToNoneCipher.MyUserInfo,ScpToNoneCipher.MyUserInfo,ScpToNoneCipher.MyUserInfo)'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[ScpToNoneCipher.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: ScpToNoneCipher.MyUserInfo:172,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: ScpToNoneCipher.MyUserInfo:202,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,ScpToNoneCipher.MyUserInfo,ScpToNoneCipher.MyUserInfo,java.awt.Insets,int,int)'
      Src: ScpToNoneCipher.MyUserInfo:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ScpToNoneCipher.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[ScpToNoneCipher.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/ScpToNoneCipher.java
    functionUses: 0
    functionsReached:
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,ScpToNoneCipher.MyUserInfo,ScpToNoneCipher.MyUserInfo,java.awt.Insets,int,int)'
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: ScpToNoneCipher.MyUserInfo
    signature: '[ScpToNoneCipher.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: Sudo:23,1
    - Dst: System.getProperty(String)
      Src: Sudo:30,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: Sudo:29,1
    - Dst: '[Sudo].indexOf(char)'
      Src: Sudo:32,1
    - Dst: '[Sudo].substring(int,Sudo)'
      Src: Sudo:32,1
    - Dst: '[Sudo].indexOf(char)'
      Src: Sudo:33,1
    - Dst: '[Sudo].substring(int)'
      Src: Sudo:33,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(Sudo,Sudo,int)'
      Src: Sudo:35,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: Sudo:37,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: Sudo:38,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: Sudo:39,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: Sudo:42,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Sudo:46,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,Sudo,String,Sudo)'
      Src: Sudo:48,1
    - Dst: System.exit()
      Src: Sudo:51,1
    - Dst: '[javax.swing.JPasswordField].getText()'
      Src: Sudo:53,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: Sudo:56,1
    - Dst: '[com.jcraft.jsch.ChannelExec].setCommand(String)'
      Src: Sudo:63,1
    - Dst: '[com.jcraft.jsch.Channel].getInputStream()'
      Src: Sudo:65,1
    - Dst: '[com.jcraft.jsch.Channel].getOutputStream()'
      Src: Sudo:66,1
    - Dst: '[com.jcraft.jsch.ChannelExec].setErrStream(Sudo)'
      Src: Sudo:67,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: Sudo:69,1
    - Dst: (sudo_pass + "\n").getBytes()
      Src: Sudo:71,1
    - Dst: '[java.io.OutputStream].write(Sudo)'
      Src: Sudo:71,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: Sudo:72,1
    - Dst: '[java.io.InputStream].available()'
      Src: Sudo:76,1
    - Dst: '[java.io.InputStream].read(Sudo,int,int)'
      Src: Sudo:77,1
    - Dst: '[String].<init>(Sudo,int,Sudo)'
      Src: Sudo:80,1
    - Dst: System.out.print(String)
      Src: Sudo:80,1
    - Dst: '[com.jcraft.jsch.Channel].isClosed()'
      Src: Sudo:82,1
    - Dst: '[com.jcraft.jsch.Channel].getExitStatus()'
      Src: Sudo:83,1
    - Dst: System.out.println(String)
      Src: Sudo:83,1
    - Dst: Thread.sleep(int)
      Src: Sudo:87,1
    - Dst: '[com.jcraft.jsch.Channel].disconnect()'
      Src: Sudo:91,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: Sudo:92,1
    - Dst: System.out.println(Sudo)
      Src: Sudo:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 96
      start: 21
    functionDepth: 7
    functionLinenumber: 21
    functionLinenumberEnd: 96
    functionName: '[Sudo].main(String[])'
    functionSourceFile: /src/jsch/examples/Sudo.java
    functionUses: 0
    functionsReached:
    - '[Sudo].substring(int)'
    - '[Subsystem.MyUserInfo].<init>()'
    - '[java.io.OutputStream].flush()'
    - '[java.io.InputStream].read(Sudo,int,int)'
    - Thread.sleep(int)
    - '[com.jcraft.jsch.JSch].getSession(Sudo,Sudo,int)'
    - System.out.print(String)
    - '[java.io.InputStream].available()'
    - '[com.jcraft.jsch.ChannelExec].setCommand(String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.ChannelExec].setErrStream(Sudo)'
    - '[Sudo].substring(int,Sudo)'
    - System.out.println(String)
    - System.exit()
    - '[javax.swing.JOptionPane].showConfirmDialog(null,Sudo,String,Sudo)'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.Channel].getInputStream()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[Sudo].indexOf(char)'
    - '[com.jcraft.jsch.Channel].isClosed()'
    - '[String].<init>(Sudo,int,Sudo)'
    - (sudo_pass + "\n").getBytes()
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - System.out.println(Sudo)
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[javax.swing.JPasswordField].getText()'
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[java.io.OutputStream].write(Sudo)'
    - '[com.jcraft.jsch.Channel].disconnect()'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].connect()'
    - System.getProperty(String)
    - '[com.jcraft.jsch.Channel].getOutputStream()'
    - '[com.jcraft.jsch.Channel].getExitStatus()'
    linkageType: ''
    returnType: void
    signature: '[Sudo].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Sudo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Sudo].<init>()'
    functionSourceFile: /src/jsch/examples/Sudo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Sudo
    signature: '[Sudo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: '[Sudo.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/Sudo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Sudo.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,Sudo.MyUserInfo,Sudo.MyUserInfo,null,Sudo.MyUserInfo)'
      Src: Sudo.MyUserInfo:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: '[Sudo.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/Sudo.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,Sudo.MyUserInfo,Sudo.MyUserInfo,null,Sudo.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[Sudo.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: '[Sudo.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/Sudo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Sudo.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: '[Sudo.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/Sudo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[Sudo.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,Sudo.MyUserInfo,String,Sudo.MyUserInfo)'
      Src: Sudo.MyUserInfo:128,1
    - Dst: '[JTextField].getText()'
      Src: Sudo.MyUserInfo:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: '[Sudo.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/Sudo.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,Sudo.MyUserInfo,String,Sudo.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[Sudo.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: Sudo.MyUserInfo:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: '[Sudo.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/Sudo.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[Sudo.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: Sudo.MyUserInfo:149,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: Sudo.MyUserInfo:150,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: Sudo.MyUserInfo:150,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: Sudo.MyUserInfo:155,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: Sudo.MyUserInfo:155,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: Sudo.MyUserInfo:165,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: Sudo.MyUserInfo:165,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: Sudo.MyUserInfo:171,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Sudo.MyUserInfo:173,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: Sudo.MyUserInfo:175,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,Sudo.MyUserInfo,Sudo.MyUserInfo,Sudo.MyUserInfo)'
      Src: Sudo.MyUserInfo:179,1
    - Dst: texts[i].getText()
      Src: Sudo.MyUserInfo:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 189
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 189
    functionName: '[Sudo.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/Sudo.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,Sudo.MyUserInfo,Sudo.MyUserInfo,Sudo.MyUserInfo)'
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[Sudo.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Sudo.MyUserInfo:113,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: Sudo.MyUserInfo:143,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,Sudo.MyUserInfo,Sudo.MyUserInfo,java.awt.Insets,int,int)'
      Src: Sudo.MyUserInfo:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Sudo.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Sudo.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/Sudo.java
    functionUses: 0
    functionsReached:
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,Sudo.MyUserInfo,Sudo.MyUserInfo,java.awt.Insets,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: Sudo.MyUserInfo
    signature: '[Sudo.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: Exec:26,1
    - Dst: System.getProperty(String)
      Src: Exec:33,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: Exec:32,1
    - Dst: '[Exec].indexOf(char)'
      Src: Exec:35,1
    - Dst: '[Exec].substring(int,Exec)'
      Src: Exec:35,1
    - Dst: '[Exec].indexOf(char)'
      Src: Exec:36,1
    - Dst: '[Exec].substring(int)'
      Src: Exec:36,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(Exec,Exec,int)'
      Src: Exec:38,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: Exec:49,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: Exec:50,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: Exec:51,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: Exec:53,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: Exec:55,1
    - Dst: '[com.jcraft.jsch.ChannelExec].setCommand(Exec)'
      Src: Exec:56,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(null)'
      Src: Exec:62,1
    - Dst: '[com.jcraft.jsch.ChannelExec].setErrStream(Exec)'
      Src: Exec:68,1
    - Dst: '[com.jcraft.jsch.Channel].getInputStream()'
      Src: Exec:70,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: Exec:72,1
    - Dst: '[java.io.InputStream].available()'
      Src: Exec:76,1
    - Dst: '[java.io.InputStream].read(Exec,int,int)'
      Src: Exec:77,1
    - Dst: '[String].<init>(Exec,int,Exec)'
      Src: Exec:80,1
    - Dst: System.out.print(String)
      Src: Exec:80,1
    - Dst: '[com.jcraft.jsch.Channel].isClosed()'
      Src: Exec:82,1
    - Dst: '[java.io.InputStream].available()'
      Src: Exec:83,1
    - Dst: '[com.jcraft.jsch.Channel].getExitStatus()'
      Src: Exec:85,1
    - Dst: System.out.println(String)
      Src: Exec:85,1
    - Dst: Thread.sleep(int)
      Src: Exec:89,1
    - Dst: '[com.jcraft.jsch.Channel].disconnect()'
      Src: Exec:93,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: Exec:94,1
    - Dst: System.out.println(Exec)
      Src: Exec:96,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 98
      start: 24
    functionDepth: 7
    functionLinenumber: 24
    functionLinenumberEnd: 98
    functionName: '[Exec].main(String[])'
    functionSourceFile: /src/jsch/examples/Exec.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].getSession(Exec,Exec,int)'
    - '[Subsystem.MyUserInfo].<init>()'
    - '[String].<init>(Exec,int,Exec)'
    - '[Exec].substring(int)'
    - Thread.sleep(int)
    - '[com.jcraft.jsch.ChannelExec].setCommand(Exec)'
    - '[Exec].indexOf(char)'
    - System.out.print(String)
    - '[java.io.InputStream].available()'
    - '[java.io.InputStream].read(Exec,int,int)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - System.out.println(String)
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.Channel].getInputStream()'
    - '[Exec].substring(int,Exec)'
    - '[com.jcraft.jsch.Channel].isClosed()'
    - '[com.jcraft.jsch.Channel].setInputStream(null)'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Session].disconnect()'
    - System.out.println(Exec)
    - '[com.jcraft.jsch.Channel].disconnect()'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].connect()'
    - System.getProperty(String)
    - '[com.jcraft.jsch.Channel].getExitStatus()'
    - '[com.jcraft.jsch.ChannelExec].setErrStream(Exec)'
    linkageType: ''
    returnType: void
    signature: '[Exec].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Exec
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Exec].<init>()'
    functionSourceFile: /src/jsch/examples/Exec.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Exec
    signature: '[Exec].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[Exec.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/Exec.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Exec.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,Exec.MyUserInfo,Exec.MyUserInfo,null,Exec.MyUserInfo)'
      Src: Exec.MyUserInfo:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: '[Exec.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/Exec.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,Exec.MyUserInfo,Exec.MyUserInfo,null,Exec.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[Exec.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: '[Exec.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/Exec.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Exec.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: '[Exec.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/Exec.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[Exec.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,Exec.MyUserInfo,String,Exec.MyUserInfo)'
      Src: Exec.MyUserInfo:130,1
    - Dst: '[JTextField].getText()'
      Src: Exec.MyUserInfo:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: '[Exec.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/Exec.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,Exec.MyUserInfo,String,Exec.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[Exec.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: Exec.MyUserInfo:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: '[Exec.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/Exec.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[Exec.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: Exec.MyUserInfo:151,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: Exec.MyUserInfo:152,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: Exec.MyUserInfo:152,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: Exec.MyUserInfo:157,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: Exec.MyUserInfo:157,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: Exec.MyUserInfo:167,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: Exec.MyUserInfo:167,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: Exec.MyUserInfo:173,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Exec.MyUserInfo:175,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: Exec.MyUserInfo:177,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,Exec.MyUserInfo,Exec.MyUserInfo,Exec.MyUserInfo)'
      Src: Exec.MyUserInfo:181,1
    - Dst: texts[i].getText()
      Src: Exec.MyUserInfo:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 191
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 191
    functionName: '[Exec.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/Exec.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,Exec.MyUserInfo,Exec.MyUserInfo,Exec.MyUserInfo)'
    linkageType: ''
    returnType: String[]
    signature: '[Exec.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Exec.MyUserInfo:115,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: Exec.MyUserInfo:145,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,Exec.MyUserInfo,Exec.MyUserInfo,java.awt.Insets,int,int)'
      Src: Exec.MyUserInfo:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Exec.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Exec.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/Exec.java
    functionUses: 0
    functionsReached:
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,Exec.MyUserInfo,Exec.MyUserInfo,java.awt.Insets,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: Exec.MyUserInfo
    signature: '[Exec.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: JSchWithAgentProxy:16,1
    - Dst: '[com.jcraft.jsch.SSHAgentConnector].<init>()'
      Src: JSchWithAgentProxy:19,1
    - Dst: '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.SSHAgentConnector)'
      Src: JSchWithAgentProxy:19,1
    - Dst: '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.AgentIdentityRepository)'
      Src: JSchWithAgentProxy:20,1
    - Dst: System.getProperty(String)
      Src: JSchWithAgentProxy:27,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: JSchWithAgentProxy:26,1
    - Dst: '[JSchWithAgentProxy].indexOf(char)'
      Src: JSchWithAgentProxy:29,1
    - Dst: '[JSchWithAgentProxy].substring(int,JSchWithAgentProxy)'
      Src: JSchWithAgentProxy:29,1
    - Dst: '[JSchWithAgentProxy].indexOf(char)'
      Src: JSchWithAgentProxy:30,1
    - Dst: '[JSchWithAgentProxy].substring(int)'
      Src: JSchWithAgentProxy:30,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(JSchWithAgentProxy,JSchWithAgentProxy,int)'
      Src: JSchWithAgentProxy:32,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: JSchWithAgentProxy:33,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: JSchWithAgentProxy:36,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: JSchWithAgentProxy:37,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: JSchWithAgentProxy:38,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: JSchWithAgentProxy:40,1
    - Dst: '[com.jcraft.jsch.ChannelShell].setAgentForwarding(boolean)'
      Src: JSchWithAgentProxy:42,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(JSchWithAgentProxy)'
      Src: JSchWithAgentProxy:44,1
    - Dst: '[com.jcraft.jsch.Channel].setOutputStream(JSchWithAgentProxy)'
      Src: JSchWithAgentProxy:45,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: JSchWithAgentProxy:47,1
    - Dst: System.out.println(JSchWithAgentProxy)
      Src: JSchWithAgentProxy:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 52
      start: 13
    functionDepth: 7
    functionLinenumber: 13
    functionLinenumberEnd: 52
    functionName: '[JSchWithAgentProxy].main(String[])'
    functionSourceFile: /src/jsch/examples/JSchWithAgentProxy.java
    functionUses: 0
    functionsReached:
    - '[Subsystem.MyUserInfo].<init>()'
    - '[com.jcraft.jsch.JSch].getSession(JSchWithAgentProxy,JSchWithAgentProxy,int)'
    - '[JSchWithAgentProxy].substring(int)'
    - '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.AgentIdentityRepository)'
    - System.out.println(JSchWithAgentProxy)
    - '[JSchWithAgentProxy].substring(int,JSchWithAgentProxy)'
    - '[JSchWithAgentProxy].indexOf(char)'
    - '[com.jcraft.jsch.SSHAgentConnector].<init>()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.Channel].setOutputStream(JSchWithAgentProxy)'
    - '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.SSHAgentConnector)'
    - '[com.jcraft.jsch.Channel].setInputStream(JSchWithAgentProxy)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].connect()'
    - '[com.jcraft.jsch.ChannelShell].setAgentForwarding(boolean)'
    - System.getProperty(String)
    linkageType: ''
    returnType: void
    signature: '[JSchWithAgentProxy].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: JSchWithAgentProxy
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[JSchWithAgentProxy].<init>()'
    functionSourceFile: /src/jsch/examples/JSchWithAgentProxy.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSchWithAgentProxy
    signature: '[JSchWithAgentProxy].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[JSchWithAgentProxy.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/JSchWithAgentProxy.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[JSchWithAgentProxy.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[JSchWithAgentProxy.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/JSchWithAgentProxy.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[JSchWithAgentProxy.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[JSchWithAgentProxy.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/JSchWithAgentProxy.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[JSchWithAgentProxy.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[JSchWithAgentProxy.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/JSchWithAgentProxy.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[JSchWithAgentProxy.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[JSchWithAgentProxy.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/JSchWithAgentProxy.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[JSchWithAgentProxy.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: '[JSchWithAgentProxy.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/JSchWithAgentProxy.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[JSchWithAgentProxy.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: '[JSchWithAgentProxy.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/JSchWithAgentProxy.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[JSchWithAgentProxy.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: JSchWithAgentProxy.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[JSchWithAgentProxy.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/JSchWithAgentProxy.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSchWithAgentProxy.MyUserInfo
    signature: '[JSchWithAgentProxy.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.err.println(String)
      Src: KeyGenOpenSSHv1:16,1
    - Dst: System.exit()
      Src: KeyGenOpenSSHv1:23,1
    - Dst: _type.equals(String)
      Src: KeyGenOpenSSHv1:27,1
    - Dst: _type.equals(String)
      Src: KeyGenOpenSSHv1:29,1
    - Dst: _type.equals(String)
      Src: KeyGenOpenSSHv1:31,1
    - Dst: _type.equals(String)
      Src: KeyGenOpenSSHv1:34,1
    - Dst: _type.equals(String)
      Src: KeyGenOpenSSHv1:37,1
    - Dst: _type.equals(String)
      Src: KeyGenOpenSSHv1:40,1
    - Dst: _type.equals(String)
      Src: KeyGenOpenSSHv1:43,1
    - Dst: System.err.println(String)
      Src: KeyGenOpenSSHv1:47,1
    - Dst: System.exit()
      Src: KeyGenOpenSSHv1:54,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: KeyGenOpenSSHv1:59,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: KeyGenOpenSSHv1:62,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,KeyGenOpenSSHv1,String,KeyGenOpenSSHv1)'
      Src: KeyGenOpenSSHv1:64,1
    - Dst: '[javax.swing.JPasswordField].getText()'
      Src: KeyGenOpenSSHv1:67,1
    - Dst: '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,KeyGenOpenSSHv1,KeyGenOpenSSHv1)'
      Src: KeyGenOpenSSHv1:71,1
    - Dst: '[KeyGenOpenSSHv1].getBytes()'
      Src: KeyGenOpenSSHv1:72,1
    - Dst: '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(KeyGenOpenSSHv1,KeyGenOpenSSHv1)'
      Src: KeyGenOpenSSHv1:72,1
    - Dst: '[com.jcraft.jsch.KeyPair].writePublicKey(String,KeyGenOpenSSHv1)'
      Src: KeyGenOpenSSHv1:73,1
    - Dst: '[com.jcraft.jsch.KeyPair].getFingerPrint()'
      Src: KeyGenOpenSSHv1:74,1
    - Dst: System.out.println(String)
      Src: KeyGenOpenSSHv1:74,1
    - Dst: '[com.jcraft.jsch.KeyPair].dispose()'
      Src: KeyGenOpenSSHv1:75,1
    - Dst: System.out.println(KeyGenOpenSSHv1)
      Src: KeyGenOpenSSHv1:77,1
    - Dst: System.exit(int)
      Src: KeyGenOpenSSHv1:79,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 80
      start: 13
    functionDepth: 3
    functionLinenumber: 13
    functionLinenumberEnd: 80
    functionName: '[KeyGenOpenSSHv1].main(String[])'
    functionSourceFile: /src/jsch/examples/KeyGenOpenSSHv1.java
    functionUses: 0
    functionsReached:
    - _type.equals(String)
    - '[javax.swing.JPasswordField].getText()'
    - '[com.jcraft.jsch.KeyPair].getFingerPrint()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[com.jcraft.jsch.KeyPair].writePublicKey(String,KeyGenOpenSSHv1)'
    - System.exit(int)
    - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(KeyGenOpenSSHv1,KeyGenOpenSSHv1)'
    - '[KeyGenOpenSSHv1].getBytes()'
    - '[com.jcraft.jsch.KeyPair].dispose()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - System.out.println(KeyGenOpenSSHv1)
    - '[javax.swing.JOptionPane].showConfirmDialog(null,KeyGenOpenSSHv1,String,KeyGenOpenSSHv1)'
    - '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,KeyGenOpenSSHv1,KeyGenOpenSSHv1)'
    - System.err.println(String)
    - System.out.println(String)
    - System.exit()
    linkageType: ''
    returnType: void
    signature: '[KeyGenOpenSSHv1].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: KeyGenOpenSSHv1
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[KeyGenOpenSSHv1].<init>()'
    functionSourceFile: /src/jsch/examples/KeyGenOpenSSHv1.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyGenOpenSSHv1
    signature: '[KeyGenOpenSSHv1].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: StreamForwarding:28,1
    - Dst: System.getProperty(String)
      Src: StreamForwarding:35,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: StreamForwarding:34,1
    - Dst: '[StreamForwarding].indexOf(char)'
      Src: StreamForwarding:37,1
    - Dst: '[StreamForwarding].substring(int,StreamForwarding)'
      Src: StreamForwarding:37,1
    - Dst: '[StreamForwarding].indexOf(char)'
      Src: StreamForwarding:38,1
    - Dst: '[StreamForwarding].substring(int)'
      Src: StreamForwarding:38,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(StreamForwarding,StreamForwarding,int)'
      Src: StreamForwarding:40,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: StreamForwarding:43,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: StreamForwarding:44,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: StreamForwarding:45,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: StreamForwarding:47,1
    - Dst: '[StreamForwarding].indexOf(char)'
      Src: StreamForwarding:48,1
    - Dst: '[StreamForwarding].substring(int,StreamForwarding)'
      Src: StreamForwarding:48,1
    - Dst: '[StreamForwarding].indexOf(char)'
      Src: StreamForwarding:49,1
    - Dst: '[StreamForwarding].substring(int)'
      Src: StreamForwarding:49,1
    - Dst: Integer.parseInt(StreamForwarding)
      Src: StreamForwarding:49,1
    - Dst: System.out.println(String)
      Src: StreamForwarding:51,1
    - Dst: '[com.jcraft.jsch.Session].getStreamForwarder(StreamForwarding,StreamForwarding)'
      Src: StreamForwarding:52,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(StreamForwarding)'
      Src: StreamForwarding:55,1
    - Dst: '[com.jcraft.jsch.Channel].setOutputStream(StreamForwarding)'
      Src: StreamForwarding:56,1
    - Dst: '[com.jcraft.jsch.Channel].connect(int)'
      Src: StreamForwarding:57,1
    - Dst: System.out.println(StreamForwarding)
      Src: StreamForwarding:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 61
      start: 24
    functionDepth: 7
    functionLinenumber: 24
    functionLinenumberEnd: 61
    functionName: '[StreamForwarding].main(String[])'
    functionSourceFile: /src/jsch/examples/StreamForwarding.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - Integer.parseInt(StreamForwarding)
    - '[StreamForwarding].substring(int,StreamForwarding)'
    - '[Subsystem.MyUserInfo].<init>()'
    - '[com.jcraft.jsch.Channel].setOutputStream(StreamForwarding)'
    - '[com.jcraft.jsch.Channel].connect(int)'
    - '[StreamForwarding].indexOf(char)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[StreamForwarding].substring(int)'
    - '[com.jcraft.jsch.Session].getStreamForwarder(StreamForwarding,StreamForwarding)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - System.out.println(StreamForwarding)
    - '[com.jcraft.jsch.Channel].setInputStream(StreamForwarding)'
    - System.getProperty(String)
    - System.out.println(String)
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - '[com.jcraft.jsch.JSch].getSession(StreamForwarding,StreamForwarding,int)'
    linkageType: ''
    returnType: void
    signature: '[StreamForwarding].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: StreamForwarding
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[StreamForwarding].<init>()'
    functionSourceFile: /src/jsch/examples/StreamForwarding.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamForwarding
    signature: '[StreamForwarding].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[StreamForwarding.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/StreamForwarding.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[StreamForwarding.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,StreamForwarding.MyUserInfo,StreamForwarding.MyUserInfo,null,StreamForwarding.MyUserInfo)'
      Src: StreamForwarding.MyUserInfo:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: '[StreamForwarding.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/StreamForwarding.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,StreamForwarding.MyUserInfo,StreamForwarding.MyUserInfo,null,StreamForwarding.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[StreamForwarding.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: '[StreamForwarding.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/StreamForwarding.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[StreamForwarding.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '[StreamForwarding.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/StreamForwarding.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[StreamForwarding.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,StreamForwarding.MyUserInfo,String,StreamForwarding.MyUserInfo)'
      Src: StreamForwarding.MyUserInfo:93,1
    - Dst: '[JTextField].getText()'
      Src: StreamForwarding.MyUserInfo:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: '[StreamForwarding.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/StreamForwarding.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,StreamForwarding.MyUserInfo,String,StreamForwarding.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[StreamForwarding.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: StreamForwarding.MyUserInfo:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[StreamForwarding.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/StreamForwarding.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[StreamForwarding.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: StreamForwarding.MyUserInfo:114,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: StreamForwarding.MyUserInfo:115,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: StreamForwarding.MyUserInfo:115,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: StreamForwarding.MyUserInfo:120,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: StreamForwarding.MyUserInfo:120,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: StreamForwarding.MyUserInfo:130,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: StreamForwarding.MyUserInfo:130,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: StreamForwarding.MyUserInfo:136,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: StreamForwarding.MyUserInfo:138,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: StreamForwarding.MyUserInfo:140,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,StreamForwarding.MyUserInfo,StreamForwarding.MyUserInfo,StreamForwarding.MyUserInfo)'
      Src: StreamForwarding.MyUserInfo:144,1
    - Dst: texts[i].getText()
      Src: StreamForwarding.MyUserInfo:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 154
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 154
    functionName: '[StreamForwarding.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/StreamForwarding.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,StreamForwarding.MyUserInfo,StreamForwarding.MyUserInfo,StreamForwarding.MyUserInfo)'
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[StreamForwarding.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: StreamForwarding.MyUserInfo:78,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: StreamForwarding.MyUserInfo:108,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,StreamForwarding.MyUserInfo,StreamForwarding.MyUserInfo,java.awt.Insets,int,int)'
      Src: StreamForwarding.MyUserInfo:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: StreamForwarding.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[StreamForwarding.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/StreamForwarding.java
    functionUses: 0
    functionsReached:
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,StreamForwarding.MyUserInfo,StreamForwarding.MyUserInfo,java.awt.Insets,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: StreamForwarding.MyUserInfo
    signature: '[StreamForwarding.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: Compression:25,1
    - Dst: System.getProperty(String)
      Src: Compression:32,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: Compression:31,1
    - Dst: '[com.jcraft.jsch.Compression].indexOf(char)'
      Src: Compression:34,1
    - Dst: '[com.jcraft.jsch.Compression].substring(int,Compression)'
      Src: Compression:34,1
    - Dst: '[com.jcraft.jsch.Compression].indexOf(char)'
      Src: Compression:35,1
    - Dst: '[com.jcraft.jsch.Compression].substring(int)'
      Src: Compression:35,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(Compression,Compression,int)'
      Src: Compression:37,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: Compression:40,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: Compression:41,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: Compression:43,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: Compression:44,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: Compression:45,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: Compression:47,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: Compression:49,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(Compression)'
      Src: Compression:51,1
    - Dst: '[com.jcraft.jsch.Channel].setOutputStream(Compression)'
      Src: Compression:52,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: Compression:54,1
    - Dst: System.out.println(Compression)
      Src: Compression:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 58
      start: 22
    functionDepth: 7
    functionLinenumber: 22
    functionLinenumberEnd: 58
    functionName: '[com.jcraft.jsch.Compression].main(String[])'
    functionSourceFile: /src/jsch/examples/Compression.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.Channel].setInputStream(Compression)'
    - '[com.jcraft.jsch.Compression].substring(int)'
    - '[com.jcraft.jsch.Channel].setOutputStream(Compression)'
    - '[Subsystem.MyUserInfo].<init>()'
    - '[com.jcraft.jsch.JSch].getSession(Compression,Compression,int)'
    - System.out.println(Compression)
    - '[com.jcraft.jsch.Compression].indexOf(char)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].connect()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.Compression].substring(int,Compression)'
    - System.getProperty(String)
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.Compression].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Compression
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Compression].<init>()'
    functionSourceFile: /src/jsch/examples/Compression.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Compression
    signature: '[com.jcraft.jsch.Compression].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[Compression.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/Compression.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Compression.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,Compression.MyUserInfo,Compression.MyUserInfo,null,Compression.MyUserInfo)'
      Src: Compression.MyUserInfo:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: '[Compression.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/Compression.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,Compression.MyUserInfo,Compression.MyUserInfo,null,Compression.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[Compression.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[Compression.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/Compression.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Compression.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[Compression.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/Compression.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[Compression.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,Compression.MyUserInfo,String,Compression.MyUserInfo)'
      Src: Compression.MyUserInfo:90,1
    - Dst: '[JTextField].getText()'
      Src: Compression.MyUserInfo:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: '[Compression.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/Compression.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,Compression.MyUserInfo,String,Compression.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[Compression.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: Compression.MyUserInfo:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: '[Compression.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/Compression.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[Compression.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: Compression.MyUserInfo:111,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: Compression.MyUserInfo:112,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: Compression.MyUserInfo:112,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: Compression.MyUserInfo:117,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: Compression.MyUserInfo:117,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: Compression.MyUserInfo:127,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: Compression.MyUserInfo:127,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: Compression.MyUserInfo:133,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Compression.MyUserInfo:135,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: Compression.MyUserInfo:137,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,Compression.MyUserInfo,Compression.MyUserInfo,Compression.MyUserInfo)'
      Src: Compression.MyUserInfo:141,1
    - Dst: texts[i].getText()
      Src: Compression.MyUserInfo:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 151
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 151
    functionName: '[Compression.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/Compression.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,Compression.MyUserInfo,Compression.MyUserInfo,Compression.MyUserInfo)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[Compression.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Compression.MyUserInfo:75,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: Compression.MyUserInfo:105,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,Compression.MyUserInfo,Compression.MyUserInfo,java.awt.Insets,int,int)'
      Src: Compression.MyUserInfo:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Compression.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Compression.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/Compression.java
    functionUses: 0
    functionsReached:
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,Compression.MyUserInfo,Compression.MyUserInfo,java.awt.Insets,int,int)'
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: Compression.MyUserInfo
    signature: '[Compression.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: Daemon:31,1
    - Dst: System.getProperty(String)
      Src: Daemon:38,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: Daemon:37,1
    - Dst: '[Daemon].indexOf(char)'
      Src: Daemon:40,1
    - Dst: '[Daemon].substring(int,Daemon)'
      Src: Daemon:40,1
    - Dst: '[Daemon].indexOf(char)'
      Src: Daemon:41,1
    - Dst: '[Daemon].substring(int)'
      Src: Daemon:41,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(Daemon,Daemon,int)'
      Src: Daemon:43,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: Daemon:45,1
    - Dst: Integer.parseInt(Daemon)
      Src: Daemon:46,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: Daemon:49,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: Daemon:50,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: Daemon:52,1
    - Dst: '[com.jcraft.jsch.Session].setPortForwardingR(Daemon,String)'
      Src: Daemon:55,1
    - Dst: System.out.println(String)
      Src: Daemon:56,1
    - Dst: System.out.println(Daemon)
      Src: Daemon:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 7
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: '[Daemon].main(String[])'
    functionSourceFile: /src/jsch/examples/Daemon.java
    functionUses: 0
    functionsReached:
    - '[Daemon].substring(int,Daemon)'
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[Subsystem.MyUserInfo].<init>()'
    - System.out.println(Daemon)
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[Daemon].substring(int)'
    - Integer.parseInt(Daemon)
    - '[com.jcraft.jsch.JSch].getSession(Daemon,Daemon,int)'
    - '[Daemon].indexOf(char)'
    - System.out.println(String)
    - '[com.jcraft.jsch.Session].setPortForwardingR(Daemon,String)'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - System.getProperty(String)
    linkageType: ''
    returnType: void
    signature: '[Daemon].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Daemon
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Daemon].<init>()'
    functionSourceFile: /src/jsch/examples/Daemon.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Daemon
    signature: '[Daemon].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - com.jcraft.jsch.ChannelForwardedTCPIP
      - java.io.InputStream
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelForwardedTCPIP
      - Object[]
      - InputStream
      - OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ForwardedTCPIPDaemon
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - c
    - in
    - out
    argTypes:
    - com.jcraft.jsch.ChannelForwardedTCPIP
    - java.io.InputStream
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: '[Daemon.Parrot].setChannel(com.jcraft.jsch.ChannelForwardedTCPIP,java.io.InputStream,java.io.OutputStream)'
    functionSourceFile: /src/jsch/examples/Daemon.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[Daemon.Parrot].setChannel(com.jcraft.jsch.ChannelForwardedTCPIP,java.io.InputStream,java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object[]
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelForwardedTCPIP
      - Object[]
      - InputStream
      - OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ForwardedTCPIPDaemon
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - Object[]
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[Daemon.Parrot].setArg(Object[])'
    functionSourceFile: /src/jsch/examples/Daemon.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[Daemon.Parrot].setArg(Object[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getRemotePort()'
      Src: Daemon.Parrot:84,1
    - Dst: System.out.println(String)
      Src: Daemon.Parrot:84,1
    - Dst: '[com.jcraft.jsch.ChannelForwardedTCPIP].getSession()'
      Src: Daemon.Parrot:85,1
    - Dst: '[Daemon.Parrot].getHost()'
      Src: Daemon.Parrot:85,1
    - Dst: System.out.println(String)
      Src: Daemon.Parrot:85,1
    - Dst: '[InputStream].read(Daemon.Parrot,int,Daemon.Parrot)'
      Src: Daemon.Parrot:87,1
    - Dst: '[OutputStream].write(Daemon.Parrot,int,Daemon.Parrot)'
      Src: Daemon.Parrot:90,1
    - Dst: '[OutputStream].flush()'
      Src: Daemon.Parrot:91,1
    - Dst: System.out.println(String)
      Src: Daemon.Parrot:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelForwardedTCPIP
      - Object[]
      - InputStream
      - OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ForwardedTCPIPDaemon
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: '[Daemon.Parrot].run()'
    functionSourceFile: /src/jsch/examples/Daemon.java
    functionUses: 0
    functionsReached:
    - '[InputStream].read(Daemon.Parrot,int,Daemon.Parrot)'
    - '[Daemon.Parrot].getHost()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getSession()'
    - '[com.jcraft.jsch.ChannelForwardedTCPIP].getRemotePort()'
    - '[OutputStream].write(Daemon.Parrot,int,Daemon.Parrot)'
    - System.out.println(String)
    - '[OutputStream].flush()'
    linkageType: ''
    returnType: void
    signature: '[Daemon.Parrot].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelForwardedTCPIP
      - Object[]
      - InputStream
      - OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ForwardedTCPIPDaemon
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Daemon.Parrot
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Daemon.Parrot].<init>()'
    functionSourceFile: /src/jsch/examples/Daemon.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Daemon.Parrot
    signature: '[Daemon.Parrot].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '[Daemon.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/Daemon.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Daemon.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,Daemon.MyUserInfo,Daemon.MyUserInfo,null,Daemon.MyUserInfo)'
      Src: Daemon.MyUserInfo:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: '[Daemon.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/Daemon.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,Daemon.MyUserInfo,Daemon.MyUserInfo,null,Daemon.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[Daemon.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '[Daemon.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/Daemon.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Daemon.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: '[Daemon.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/Daemon.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[Daemon.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,Daemon.MyUserInfo,String,Daemon.MyUserInfo)'
      Src: Daemon.MyUserInfo:132,1
    - Dst: '[JTextField].getText()'
      Src: Daemon.MyUserInfo:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: '[Daemon.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/Daemon.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,Daemon.MyUserInfo,String,Daemon.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[Daemon.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: Daemon.MyUserInfo:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: '[Daemon.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/Daemon.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[Daemon.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: Daemon.MyUserInfo:153,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: Daemon.MyUserInfo:154,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: Daemon.MyUserInfo:154,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: Daemon.MyUserInfo:159,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: Daemon.MyUserInfo:159,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: Daemon.MyUserInfo:169,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: Daemon.MyUserInfo:169,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: Daemon.MyUserInfo:175,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Daemon.MyUserInfo:177,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: Daemon.MyUserInfo:179,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,Daemon.MyUserInfo,Daemon.MyUserInfo,Daemon.MyUserInfo)'
      Src: Daemon.MyUserInfo:183,1
    - Dst: texts[i].getText()
      Src: Daemon.MyUserInfo:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 193
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 193
    functionName: '[Daemon.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/Daemon.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,Daemon.MyUserInfo,Daemon.MyUserInfo,Daemon.MyUserInfo)'
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[Daemon.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Daemon.MyUserInfo:117,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: Daemon.MyUserInfo:147,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,Daemon.MyUserInfo,Daemon.MyUserInfo,java.awt.Insets,int,int)'
      Src: Daemon.MyUserInfo:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Daemon.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Daemon.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/Daemon.java
    functionUses: 0
    functionsReached:
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,Daemon.MyUserInfo,Daemon.MyUserInfo,java.awt.Insets,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: Daemon.MyUserInfo
    signature: '[Daemon.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: AES:21,1
    - Dst: System.getProperty(String)
      Src: AES:30,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: AES:29,1
    - Dst: '[AES].indexOf(char)'
      Src: AES:32,1
    - Dst: '[AES].substring(int,AES)'
      Src: AES:32,1
    - Dst: '[AES].indexOf(char)'
      Src: AES:33,1
    - Dst: '[AES].substring(int)'
      Src: AES:33,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(AES,AES,int)'
      Src: AES:35,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: AES:39,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: AES:40,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: AES:42,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: AES:43,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: AES:44,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: AES:46,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: AES:48,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(AES)'
      Src: AES:50,1
    - Dst: '[com.jcraft.jsch.Channel].setOutputStream(AES)'
      Src: AES:51,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: AES:53,1
    - Dst: System.out.println(AES)
      Src: AES:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 57
      start: 18
    functionDepth: 7
    functionLinenumber: 18
    functionLinenumberEnd: 57
    functionName: '[AES].main(String[])'
    functionSourceFile: /src/jsch/examples/AES.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.JSch].getSession(AES,AES,int)'
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[Subsystem.MyUserInfo].<init>()'
    - '[AES].substring(int,AES)'
    - '[com.jcraft.jsch.Channel].setInputStream(AES)'
    - '[AES].substring(int)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].connect()'
    - '[com.jcraft.jsch.JSch].<init>()'
    - System.getProperty(String)
    - '[AES].indexOf(char)'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - '[com.jcraft.jsch.Channel].setOutputStream(AES)'
    - System.out.println(AES)
    linkageType: ''
    returnType: void
    signature: '[AES].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AES
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[AES].<init>()'
    functionSourceFile: /src/jsch/examples/AES.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AES
    signature: '[AES].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[AES.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/AES.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[AES.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,AES.MyUserInfo,AES.MyUserInfo,null,AES.MyUserInfo)'
      Src: AES.MyUserInfo:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: '[AES.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/AES.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,AES.MyUserInfo,AES.MyUserInfo,null,AES.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[AES.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[AES.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/AES.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[AES.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: '[AES.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/AES.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[AES.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,AES.MyUserInfo,String,AES.MyUserInfo)'
      Src: AES.MyUserInfo:89,1
    - Dst: '[JTextField].getText()'
      Src: AES.MyUserInfo:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: '[AES.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/AES.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,AES.MyUserInfo,String,AES.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[AES.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: AES.MyUserInfo:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[AES.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/AES.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[AES.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: AES.MyUserInfo:110,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: AES.MyUserInfo:111,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: AES.MyUserInfo:111,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: AES.MyUserInfo:116,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: AES.MyUserInfo:116,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: AES.MyUserInfo:126,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: AES.MyUserInfo:126,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: AES.MyUserInfo:132,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: AES.MyUserInfo:134,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: AES.MyUserInfo:136,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,AES.MyUserInfo,AES.MyUserInfo,AES.MyUserInfo)'
      Src: AES.MyUserInfo:140,1
    - Dst: texts[i].getText()
      Src: AES.MyUserInfo:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 150
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 150
    functionName: '[AES.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/AES.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,AES.MyUserInfo,AES.MyUserInfo,AES.MyUserInfo)'
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[AES.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: AES.MyUserInfo:74,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: AES.MyUserInfo:104,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,AES.MyUserInfo,AES.MyUserInfo,java.awt.Insets,int,int)'
      Src: AES.MyUserInfo:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AES.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[AES.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/AES.java
    functionUses: 0
    functionsReached:
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,AES.MyUserInfo,AES.MyUserInfo,java.awt.Insets,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: AES.MyUserInfo
    signature: '[AES.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: Sftp:31,1
    - Dst: System.getProperty(String)
      Src: Sftp:38,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: Sftp:37,1
    - Dst: '[Sftp].indexOf(char)'
      Src: Sftp:40,1
    - Dst: '[Sftp].substring(int,Sftp)'
      Src: Sftp:40,1
    - Dst: '[Sftp].indexOf(char)'
      Src: Sftp:41,1
    - Dst: '[Sftp].substring(int)'
      Src: Sftp:41,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(Sftp,Sftp,Sftp)'
      Src: Sftp:44,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: Sftp:47,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: Sftp:48,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: Sftp:50,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: Sftp:52,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: Sftp:53,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: Sftp:59,1
    - Dst: out.print(String)
      Src: Sftp:66,1
    - Dst: '[java.util.ArrayList].clear()'
      Src: Sftp:67,1
    - Dst: in.read(Sftp,int,int)
      Src: Sftp:68,1
    - Dst: '[String].<init>(Sftp,Sftp,Sftp)'
      Src: Sftp:81,1
    - Dst: '[java.util.ArrayList].add(String)'
      Src: Sftp:81,1
    - Dst: '[String].<init>(Sftp,Sftp,Sftp)'
      Src: Sftp:92,1
    - Dst: '[java.util.ArrayList].add(String)'
      Src: Sftp:92,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: Sftp:94,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:97,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:98,1
    - Dst: c.quit()
      Src: Sftp:99,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:102,1
    - Dst: c.exit()
      Src: Sftp:103,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:106,1
    - Dst: '[com.jcraft.jsch.Session].rekey()'
      Src: Sftp:107,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:110,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:111,1
    - Dst: out.println(String)
      Src: Sftp:112,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:116,1
    - Dst: Integer.parseInt(Sftp)
      Src: Sftp:116,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: Sftp:118,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: Sftp:119,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: Sftp:121,1
    - Dst: '[com.jcraft.jsch.Session].setConfig(String,String)'
      Src: Sftp:122,1
    - Dst: '[com.jcraft.jsch.Session].rekey()'
      Src: Sftp:126,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:129,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:129,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:130,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:132,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:134,1
    - Dst: c.cd(Sftp)
      Src: Sftp:135,1
    - Dst: c.lcd(Sftp)
      Src: Sftp:137,1
    - Dst: System.out.println(Sftp)
      Src: Sftp:139,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:143,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:143,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:143,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:144,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:146,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:148,1
    - Dst: c.rm(Sftp)
      Src: Sftp:149,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:150,1
    - Dst: c.rmdir(Sftp)
      Src: Sftp:151,1
    - Dst: c.mkdir(Sftp)
      Src: Sftp:153,1
    - Dst: System.out.println(Sftp)
      Src: Sftp:155,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:159,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:159,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:159,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:160,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:162,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:164,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:165,1
    - Dst: '[Sftp].getBytes()'
      Src: Sftp:165,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:178,1
    - Dst: Integer.parseInt(Sftp)
      Src: Sftp:178,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:184,1
    - Dst: c.chgrp(Sftp,Sftp)
      Src: Sftp:185,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:186,1
    - Dst: c.chown(Sftp,Sftp)
      Src: Sftp:187,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:188,1
    - Dst: c.chmod(Sftp,Sftp)
      Src: Sftp:189,1
    - Dst: System.out.println(Sftp)
      Src: Sftp:192,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:196,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:196,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:197,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:199,1
    - Dst: c.pwd()
      Src: Sftp:200,1
    - Dst: c.lpwd()
      Src: Sftp:202,1
    - Dst: out.println(Sftp)
      Src: Sftp:203,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:206,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:206,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:208,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:209,1
    - Dst: c.ls(Sftp)
      Src: Sftp:211,1
    - Dst: le.getLongname()
      Src: Sftp:215,1
    - Dst: out.println(Sftp)
      Src: Sftp:215,1
    - Dst: System.out.println(Sftp)
      Src: Sftp:219,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:223,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:223,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:225,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:226,1
    - Dst: '[java.io.File].<init>(Sftp)'
      Src: Sftp:228,1
    - Dst: '[java.io.File].exists()'
      Src: Sftp:229,1
    - Dst: out.println(String)
      Src: Sftp:230,1
    - Dst: '[java.io.File].isDirectory()'
      Src: Sftp:233,1
    - Dst: '[java.io.File].list()'
      Src: Sftp:234,1
    - Dst: out.println(Sftp)
      Src: Sftp:236,1
    - Dst: out.println(Sftp)
      Src: Sftp:240,1
    - Dst: System.out.println(Sftp)
      Src: Sftp:242,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:246,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:246,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:246,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:247,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:247,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:247,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:248,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:248,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:250,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:253,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:254,1
    - Dst: '[MyProgressMonitor].<init>()'
      Src: Sftp:256,1
    - Dst: '[Sftp].startsWith(String)'
      Src: Sftp:257,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:259,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:261,1
    - Dst: c.get(Sftp,Sftp,MyProgressMonitor,Sftp)
      Src: Sftp:264,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:267,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:269,1
    - Dst: c.put(Sftp,Sftp,MyProgressMonitor,Sftp)
      Src: Sftp:272,1
    - Dst: System.out.println(Sftp)
      Src: Sftp:275,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:279,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:279,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:279,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:280,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:281,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:283,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:284,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:286,1
    - Dst: c.hardlink(Sftp,Sftp)
      Src: Sftp:287,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:288,1
    - Dst: c.rename(Sftp,Sftp)
      Src: Sftp:289,1
    - Dst: c.symlink(Sftp,Sftp)
      Src: Sftp:291,1
    - Dst: System.out.println(Sftp)
      Src: Sftp:293,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:297,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:298,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:300,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:300,1
    - Dst: c.statVFS(Sftp)
      Src: Sftp:301,1
    - Dst: '[Sftp].getSize()'
      Src: Sftp:303,1
    - Dst: '[Sftp].getUsed()'
      Src: Sftp:304,1
    - Dst: '[Sftp].getAvailForNonRoot()'
      Src: Sftp:305,1
    - Dst: '[Sftp].getAvail()'
      Src: Sftp:306,1
    - Dst: '[Sftp].getCapacity()'
      Src: Sftp:307,1
    - Dst: System.out.println(String)
      Src: Sftp:309,1
    - Dst: System.out.println(String)
      Src: Sftp:310,1
    - Dst: System.out.println(String)
      Src: Sftp:311,1
    - Dst: System.out.println(String)
      Src: Sftp:312,1
    - Dst: System.out.println(String)
      Src: Sftp:313,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:317,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:317,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:318,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:320,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:323,1
    - Dst: c.stat(Sftp)
      Src: Sftp:324,1
    - Dst: c.lstat(Sftp)
      Src: Sftp:326,1
    - Dst: System.out.println(Sftp)
      Src: Sftp:328,1
    - Dst: out.println(Sftp)
      Src: Sftp:331,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:336,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:337,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:339,1
    - Dst: c.readlink(Sftp)
      Src: Sftp:342,1
    - Dst: out.println(Sftp)
      Src: Sftp:343,1
    - Dst: System.out.println(Sftp)
      Src: Sftp:345,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:349,1
    - Dst: '[java.util.ArrayList].size()'
      Src: Sftp:350,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: Sftp:352,1
    - Dst: c.realpath(Sftp)
      Src: Sftp:355,1
    - Dst: out.println(Sftp)
      Src: Sftp:356,1
    - Dst: System.out.println(Sftp)
      Src: Sftp:358,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:362,1
    - Dst: c.version()
      Src: Sftp:363,1
    - Dst: out.println(String)
      Src: Sftp:363,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:366,1
    - Dst: '[Sftp].equals(String)'
      Src: Sftp:366,1
    - Dst: out.println(String)
      Src: Sftp:367,1
    - Dst: out.println(String)
      Src: Sftp:370,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: Sftp:372,1
    - Dst: System.out.println(Sftp)
      Src: Sftp:374,1
    - Dst: System.exit(int)
      Src: Sftp:376,1
    CyclomaticComplexity: 151
    EdgeCount: 151
    ICount: 285
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 377
      start: 28
    functionDepth: 7
    functionLinenumber: 28
    functionLinenumberEnd: 377
    functionName: '[Sftp].main(String[])'
    functionSourceFile: /src/jsch/examples/Sftp.java
    functionUses: 0
    functionsReached:
    - '[com.jcraft.jsch.Session].rekey()'
    - '[Subsystem.MyUserInfo].<init>()'
    - c.put(Sftp,Sftp,MyProgressMonitor,Sftp)
    - '[Sftp].equals(String)'
    - c.stat(Sftp)
    - Integer.parseInt(Sftp)
    - '[java.io.File].isDirectory()'
    - System.out.println(Sftp)
    - c.hardlink(Sftp,Sftp)
    - '[com.jcraft.jsch.JSch].getSession(Sftp,Sftp,Sftp)'
    - '[Sftp].substring(int,Sftp)'
    - c.chgrp(Sftp,Sftp)
    - '[MyProgressMonitor].<init>()'
    - '[Sftp].getSize()'
    - le.getLongname()
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[java.io.File].list()'
    - out.println(String)
    - '[Sftp].getAvailForNonRoot()'
    - System.out.println(String)
    - c.version()
    - c.quit()
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[java.util.ArrayList].clear()'
    - c.lcd(Sftp)
    - c.mkdir(Sftp)
    - '[Sftp].getBytes()'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].add(String)'
    - '[java.util.ArrayList].size()'
    - '[java.io.File].<init>(Sftp)'
    - c.cd(Sftp)
    - '[java.io.File].exists()'
    - c.realpath(Sftp)
    - c.chown(Sftp,Sftp)
    - '[Sftp].indexOf(char)'
    - '[String].<init>(Sftp,Sftp,Sftp)'
    - c.symlink(Sftp,Sftp)
    - out.print(String)
    - '[com.jcraft.jsch.Session].setConfig(String,String)'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - c.chmod(Sftp,Sftp)
    - c.ls(Sftp)
    - c.readlink(Sftp)
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - c.rmdir(Sftp)
    - c.pwd()
    - '[Sftp].getUsed()'
    - '[Sftp].getAvail()'
    - '[Sftp].getCapacity()'
    - '[com.jcraft.jsch.Session].disconnect()'
    - c.statVFS(Sftp)
    - in.read(Sftp,int,int)
    - '[Sftp].startsWith(String)'
    - c.get(Sftp,Sftp,MyProgressMonitor,Sftp)
    - c.rename(Sftp,Sftp)
    - c.lstat(Sftp)
    - '[Sftp].substring(int)'
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].connect()'
    - '[java.util.ArrayList].isEmpty()'
    - out.println(Sftp)
    - '[java.util.ArrayList].get(int)'
    - System.exit(int)
    - c.exit()
    - c.lpwd()
    - System.getProperty(String)
    - c.rm(Sftp)
    linkageType: ''
    returnType: void
    signature: '[Sftp].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Sftp
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Sftp].<init>()'
    functionSourceFile: /src/jsch/examples/Sftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Sftp
    signature: '[Sftp].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: '[Sftp.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/Sftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Sftp.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,Sftp.MyUserInfo,Sftp.MyUserInfo,null,Sftp.MyUserInfo)'
      Src: Sftp.MyUserInfo:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: '[Sftp.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/Sftp.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,Sftp.MyUserInfo,Sftp.MyUserInfo,null,Sftp.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[Sftp.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: '[Sftp.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/Sftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[Sftp.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: '[Sftp.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/Sftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[Sftp.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,Sftp.MyUserInfo,String,Sftp.MyUserInfo)'
      Src: Sftp.MyUserInfo:409,1
    - Dst: '[JTextField].getText()'
      Src: Sftp.MyUserInfo:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: '[Sftp.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/Sftp.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showConfirmDialog(null,Sftp.MyUserInfo,String,Sftp.MyUserInfo)'
    - '[JTextField].getText()'
    linkageType: ''
    returnType: boolean
    signature: '[Sftp.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: Sftp.MyUserInfo:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: '[Sftp.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/Sftp.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[Sftp.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: Sftp.MyUserInfo:430,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: Sftp.MyUserInfo:431,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: Sftp.MyUserInfo:431,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: Sftp.MyUserInfo:436,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: Sftp.MyUserInfo:436,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: Sftp.MyUserInfo:446,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: Sftp.MyUserInfo:446,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: Sftp.MyUserInfo:452,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Sftp.MyUserInfo:454,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: Sftp.MyUserInfo:456,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,Sftp.MyUserInfo,Sftp.MyUserInfo,Sftp.MyUserInfo)'
      Src: Sftp.MyUserInfo:460,1
    - Dst: texts[i].getText()
      Src: Sftp.MyUserInfo:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 470
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 470
    functionName: '[Sftp.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/Sftp.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,Sftp.MyUserInfo,Sftp.MyUserInfo,Sftp.MyUserInfo)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[Sftp.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: Sftp.MyUserInfo:394,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: Sftp.MyUserInfo:424,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,Sftp.MyUserInfo,Sftp.MyUserInfo,java.awt.Insets,int,int)'
      Src: Sftp.MyUserInfo:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Sftp.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Sftp.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/Sftp.java
    functionUses: 0
    functionsReached:
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,Sftp.MyUserInfo,Sftp.MyUserInfo,java.awt.Insets,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: Sftp.MyUserInfo
    signature: '[Sftp.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.ProgressMonitor].<init>(null,Sftp.MyProgressMonitor,String,int,int)'
      Src: Sftp.MyProgressMonitor:481,1
    - Dst: '[javax.swing.ProgressMonitor].setProgress(int)'
      Src: Sftp.MyProgressMonitor:485,1
    - Dst: '[javax.swing.ProgressMonitor].setMillisToDecideToPopup(int)'
      Src: Sftp.MyProgressMonitor:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - String
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - ProgressMonitor
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - SftpProgressMonitor
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - op
    - src
    - dest
    - max
    argTypes:
    - int
    - String
    - String
    - long
    constantsTouched: []
    func_position:
      end: 487
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 487
    functionName: '[Sftp.MyProgressMonitor].init(int,String,String,long)'
    functionSourceFile: /src/jsch/examples/Sftp.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.ProgressMonitor].setMillisToDecideToPopup(int)'
    - '[javax.swing.ProgressMonitor].setProgress(int)'
    - '[javax.swing.ProgressMonitor].<init>(null,Sftp.MyProgressMonitor,String,int,int)'
    linkageType: ''
    returnType: void
    signature: '[Sftp.MyProgressMonitor].init(int,String,String,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ProgressMonitor].setNote(String)'
      Src: Sftp.MyProgressMonitor:500,1
    - Dst: '[ProgressMonitor].setProgress(int)'
      Src: Sftp.MyProgressMonitor:501,1
    - Dst: '[ProgressMonitor].isCanceled()'
      Src: Sftp.MyProgressMonitor:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - ProgressMonitor
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - SftpProgressMonitor
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - count
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 504
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 504
    functionName: '[Sftp.MyProgressMonitor].count(long)'
    functionSourceFile: /src/jsch/examples/Sftp.java
    functionUses: 0
    functionsReached:
    - '[ProgressMonitor].isCanceled()'
    - '[ProgressMonitor].setNote(String)'
    - '[ProgressMonitor].setProgress(int)'
    linkageType: ''
    returnType: boolean
    signature: '[Sftp.MyProgressMonitor].count(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ProgressMonitor].close()'
      Src: Sftp.MyProgressMonitor:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProgressMonitor
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - SftpProgressMonitor
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: '[Sftp.MyProgressMonitor].end()'
    functionSourceFile: /src/jsch/examples/Sftp.java
    functionUses: 0
    functionsReached:
    - '[ProgressMonitor].close()'
    linkageType: ''
    returnType: void
    signature: '[Sftp.MyProgressMonitor].end()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProgressMonitor
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - SftpProgressMonitor
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Sftp.MyProgressMonitor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[Sftp.MyProgressMonitor].<init>()'
    functionSourceFile: /src/jsch/examples/Sftp.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Sftp.MyProgressMonitor
    signature: '[Sftp.MyProgressMonitor].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: OpenSSHConfig:18,1
    - Dst: System.getProperty(String)
      Src: OpenSSHConfig:25,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: OpenSSHConfig:24,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].indexOf(char)'
      Src: OpenSSHConfig:27,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].substring(int,OpenSSHConfig)'
      Src: OpenSSHConfig:27,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].indexOf(char)'
      Src: OpenSSHConfig:28,1
    - Dst: '[com.jcraft.jsch.OpenSSHConfig].substring(int)'
      Src: OpenSSHConfig:28,1
    - Dst: System.out.println(String)
      Src: OpenSSHConfig:36,1
    - Dst: System.out.println(OpenSSHConfig)
      Src: OpenSSHConfig:37,1
    - Dst: com.jcraft.jsch.OpenSSHConfig.parse(OpenSSHConfig)
      Src: OpenSSHConfig:39,1
    - Dst: '[com.jcraft.jsch.JSch].setConfigRepository(OpenSSHConfig)'
      Src: OpenSSHConfig:42,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(String)'
      Src: OpenSSHConfig:45,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String)'
      Src: OpenSSHConfig:47,1
    - Dst: '[com.jcraft.jsch.Session].setPassword(OpenSSHConfig)'
      Src: OpenSSHConfig:48,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: OpenSSHConfig:50,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: OpenSSHConfig:72,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: OpenSSHConfig:74,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: OpenSSHConfig:76,1
    - Dst: '[com.jcraft.jsch.Channel].setInputStream(OpenSSHConfig)'
      Src: OpenSSHConfig:78,1
    - Dst: '[com.jcraft.jsch.Channel].setOutputStream(OpenSSHConfig)'
      Src: OpenSSHConfig:87,1
    - Dst: '[com.jcraft.jsch.Channel].connect(int,int)'
      Src: OpenSSHConfig:96,1
    - Dst: System.out.println(OpenSSHConfig)
      Src: OpenSSHConfig:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 100
      start: 15
    functionDepth: 7
    functionLinenumber: 15
    functionLinenumberEnd: 100
    functionName: '[com.jcraft.jsch.OpenSSHConfig].main(String[])'
    functionSourceFile: /src/jsch/examples/OpenSSHConfig.java
    functionUses: 0
    functionsReached:
    - '[Subsystem.MyUserInfo].<init>()'
    - '[com.jcraft.jsch.JSch].getSession(String)'
    - '[javax.swing.JOptionPane].showInputDialog(String)'
    - '[com.jcraft.jsch.OpenSSHConfig].substring(int,OpenSSHConfig)'
    - '[com.jcraft.jsch.OpenSSHConfig].indexOf(char)'
    - '[com.jcraft.jsch.Channel].connect(int,int)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - System.out.println(OpenSSHConfig)
    - '[com.jcraft.jsch.Channel].setOutputStream(OpenSSHConfig)'
    - System.out.println(String)
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.Channel].setInputStream(OpenSSHConfig)'
    - '[com.jcraft.jsch.Session].setPassword(OpenSSHConfig)'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - com.jcraft.jsch.OpenSSHConfig.parse(OpenSSHConfig)
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.OpenSSHConfig].substring(int)'
    - '[com.jcraft.jsch.Session].connect()'
    - System.getProperty(String)
    - '[com.jcraft.jsch.JSch].setConfigRepository(OpenSSHConfig)'
    linkageType: ''
    returnType: void
    signature: '[com.jcraft.jsch.OpenSSHConfig].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.OpenSSHConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.OpenSSHConfig].<init>()'
    functionSourceFile: /src/jsch/examples/OpenSSHConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.OpenSSHConfig
    signature: '[com.jcraft.jsch.OpenSSHConfig].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '[OpenSSHConfig.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/OpenSSHConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[OpenSSHConfig.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '[OpenSSHConfig.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/OpenSSHConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[OpenSSHConfig.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: '[OpenSSHConfig.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/OpenSSHConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[OpenSSHConfig.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '[OpenSSHConfig.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/OpenSSHConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[OpenSSHConfig.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: '[OpenSSHConfig.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/OpenSSHConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[OpenSSHConfig.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: OpenSSHConfig.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[OpenSSHConfig.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/OpenSSHConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OpenSSHConfig.MyUserInfo
    signature: '[OpenSSHConfig.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: SocketForwardingL:18,1
    - Dst: System.getProperty(String)
      Src: SocketForwardingL:25,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String,String)'
      Src: SocketForwardingL:24,1
    - Dst: '[SocketForwardingL].indexOf(char)'
      Src: SocketForwardingL:27,1
    - Dst: '[SocketForwardingL].substring(int,SocketForwardingL)'
      Src: SocketForwardingL:27,1
    - Dst: '[SocketForwardingL].indexOf(char)'
      Src: SocketForwardingL:28,1
    - Dst: '[SocketForwardingL].substring(int)'
      Src: SocketForwardingL:28,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(SocketForwardingL,SocketForwardingL,int)'
      Src: SocketForwardingL:30,1
    - Dst: '[javax.swing.JOptionPane].showInputDialog(String)'
      Src: SocketForwardingL:32,1
    - Dst: '[com.jcraft.jsch.Session].setPassword(SocketForwardingL)'
      Src: SocketForwardingL:33,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: SocketForwardingL:35,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: SocketForwardingL:57,1
    - Dst: '[com.jcraft.jsch.Session].connect(int)'
      Src: SocketForwardingL:64,1
    - Dst: '[com.jcraft.jsch.Session].setSocketForwardingL(null,int,String,null,int)'
      Src: SocketForwardingL:67,1
    - Dst: '[java.net.URL].<init>(String)'
      Src: SocketForwardingL:69,1
    - Dst: '[java.net.URL].openConnection()'
      Src: SocketForwardingL:70,1
    - Dst: myURLConnection.getResponseCode()
      Src: SocketForwardingL:72,1
    - Dst: System.out.println(SocketForwardingL)
      Src: SocketForwardingL:71,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: SocketForwardingL:74,1
    - Dst: '[java.net.URL].openConnection()'
      Src: SocketForwardingL:76,1
    - Dst: myURLConnection2.getResponseCode()
      Src: SocketForwardingL:77,1
    - Dst: System.out.println(String)
      Src: SocketForwardingL:77,1
    - Dst: System.out.println(SocketForwardingL)
      Src: SocketForwardingL:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 82
      start: 15
    functionDepth: 6
    functionLinenumber: 15
    functionLinenumberEnd: 82
    functionName: '[SocketForwardingL].main(String[])'
    functionSourceFile: /src/jsch/examples/SocketForwardingL.java
    functionUses: 0
    functionsReached:
    - '[Subsystem.MyUserInfo].<init>()'
    - System.out.println(SocketForwardingL)
    - '[com.jcraft.jsch.Session].connect(int)'
    - '[java.net.URL].<init>(String)'
    - '[javax.swing.JOptionPane].showInputDialog(String)'
    - '[com.jcraft.jsch.JSch].getSession(SocketForwardingL,SocketForwardingL,int)'
    - '[SocketForwardingL].indexOf(char)'
    - myURLConnection.getResponseCode()
    - '[com.jcraft.jsch.JSch].<init>()'
    - '[com.jcraft.jsch.Session].setPassword(SocketForwardingL)'
    - System.out.println(String)
    - '[SocketForwardingL].substring(int,SocketForwardingL)'
    - '[SocketForwardingL].substring(int)'
    - myURLConnection2.getResponseCode()
    - '[java.net.URL].openConnection()'
    - '[javax.swing.JOptionPane].showInputDialog(String,String)'
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[com.jcraft.jsch.Session].disconnect()'
    - System.getProperty(String)
    - '[com.jcraft.jsch.Session].setSocketForwardingL(null,int,String,null,int)'
    linkageType: ''
    returnType: void
    signature: '[SocketForwardingL].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SocketForwardingL
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[SocketForwardingL].<init>()'
    functionSourceFile: /src/jsch/examples/SocketForwardingL.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SocketForwardingL
    signature: '[SocketForwardingL].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '[SocketForwardingL.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/SocketForwardingL.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[SocketForwardingL.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[SocketForwardingL.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/SocketForwardingL.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[SocketForwardingL.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: '[SocketForwardingL.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/SocketForwardingL.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[SocketForwardingL.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '[SocketForwardingL.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/SocketForwardingL.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[SocketForwardingL.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: '[SocketForwardingL.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/SocketForwardingL.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[SocketForwardingL.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SocketForwardingL.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[SocketForwardingL.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/SocketForwardingL.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SocketForwardingL.MyUserInfo
    signature: '[SocketForwardingL.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.err.println(String)
      Src: ScpTo:29,1
    - Dst: System.exit()
      Src: ScpTo:30,1
    - Dst: arg[1].indexOf(char)
      Src: ScpTo:36,1
    - Dst: arg[1].substring(int,ScpTo)
      Src: ScpTo:36,1
    - Dst: arg[1].indexOf(char)
      Src: ScpTo:37,1
    - Dst: arg[1].substring(int)
      Src: ScpTo:37,1
    - Dst: arg[1].indexOf(char)
      Src: ScpTo:38,1
    - Dst: arg[1].substring(int,ScpTo)
      Src: ScpTo:38,1
    - Dst: arg[1].indexOf(char)
      Src: ScpTo:39,1
    - Dst: arg[1].substring(int)
      Src: ScpTo:39,1
    - Dst: '[com.jcraft.jsch.JSch].<init>()'
      Src: ScpTo:41,1
    - Dst: '[com.jcraft.jsch.JSch].getSession(ScpTo,ScpTo,int)'
      Src: ScpTo:42,1
    - Dst: '[Subsystem.MyUserInfo].<init>()'
      Src: ScpTo:45,1
    - Dst: '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
      Src: ScpTo:46,1
    - Dst: '[com.jcraft.jsch.Session].connect()'
      Src: ScpTo:47,1
    - Dst: '[ScpTo].replace(String,String)'
      Src: ScpTo:50,1
    - Dst: '[com.jcraft.jsch.Session].openChannel(String)'
      Src: ScpTo:53,1
    - Dst: '[com.jcraft.jsch.ChannelExec].setCommand(ScpTo)'
      Src: ScpTo:54,1
    - Dst: '[com.jcraft.jsch.Channel].getOutputStream()'
      Src: ScpTo:57,1
    - Dst: '[com.jcraft.jsch.Channel].getInputStream()'
      Src: ScpTo:58,1
    - Dst: '[com.jcraft.jsch.Channel].connect()'
      Src: ScpTo:60,1
    - Dst: '[ScpTo].checkAck(java.io.InputStream)'
      Src: ScpTo:62,1
    - Dst: System.exit(int)
      Src: ScpTo:63,1
    - Dst: '[java.io.File].<init>(ScpTo)'
      Src: ScpTo:66,1
    - Dst: '[java.io.File].lastModified()'
      Src: ScpTo:68,1
    - Dst: '[java.io.File].lastModified()'
      Src: ScpTo:71,1
    - Dst: command.getBytes()
      Src: ScpTo:72,1
    - Dst: '[java.io.OutputStream].write(ScpTo)'
      Src: ScpTo:72,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: ScpTo:73,1
    - Dst: '[ScpTo].checkAck(java.io.InputStream)'
      Src: ScpTo:74,1
    - Dst: System.exit(int)
      Src: ScpTo:75,1
    - Dst: '[java.io.File].length()'
      Src: ScpTo:79,1
    - Dst: lfile.lastIndexOf(char)
      Src: ScpTo:81,1
    - Dst: lfile.lastIndexOf(char)
      Src: ScpTo:82,1
    - Dst: lfile.substring(int)
      Src: ScpTo:82,1
    - Dst: command.getBytes()
      Src: ScpTo:87,1
    - Dst: '[java.io.OutputStream].write(ScpTo)'
      Src: ScpTo:87,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: ScpTo:88,1
    - Dst: '[ScpTo].checkAck(java.io.InputStream)'
      Src: ScpTo:90,1
    - Dst: System.exit(int)
      Src: ScpTo:91,1
    - Dst: '[java.io.FileInputStream].<init>(ScpTo)'
      Src: ScpTo:97,1
    - Dst: fis.read(ScpTo,int,ScpTo)
      Src: ScpTo:99,1
    - Dst: '[java.io.OutputStream].write(ScpTo,int,ScpTo)'
      Src: ScpTo:102,1
    - Dst: '[java.io.OutputStream].write(ScpTo,int,int)'
      Src: ScpTo:109,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: ScpTo:110,1
    - Dst: '[ScpTo].checkAck(java.io.InputStream)'
      Src: ScpTo:112,1
    - Dst: System.exit(int)
      Src: ScpTo:113,1
    - Dst: '[com.jcraft.jsch.Session].disconnect()'
      Src: ScpTo:116,1
    - Dst: System.exit(int)
      Src: ScpTo:118,1
    - Dst: System.out.println(ScpTo)
      Src: ScpTo:120,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 84
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - arg
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 122
      start: 27
    functionDepth: 7
    functionLinenumber: 27
    functionLinenumberEnd: 122
    functionName: '[ScpTo].main(String[])'
    functionSourceFile: /src/jsch/examples/ScpTo.java
    functionUses: 0
    functionsReached:
    - '[Subsystem.MyUserInfo].<init>()'
    - '[java.io.OutputStream].flush()'
    - '[java.io.OutputStream].write(ScpTo,int,int)'
    - arg[1].indexOf(char)
    - arg[1].substring(int)
    - '[com.jcraft.jsch.JSch].getSession(ScpTo,ScpTo,int)'
    - command.getBytes()
    - lfile.substring(int)
    - '[ScpTo].replace(String,String)'
    - '[com.jcraft.jsch.JSch].<init>()'
    - lfile.lastIndexOf(char)
    - System.exit()
    - '[com.jcraft.jsch.Session].openChannel(String)'
    - '[com.jcraft.jsch.Channel].getInputStream()'
    - '[java.io.File].length()'
    - '[java.io.OutputStream].write(ScpTo,int,ScpTo)'
    - '[java.io.FileInputStream].<init>(ScpTo)'
    - '[java.io.File].lastModified()'
    - fis.read(ScpTo,int,ScpTo)
    - '[com.jcraft.jsch.Session].setUserInfo(Subsystem.MyUserInfo)'
    - '[java.io.File].<init>(ScpTo)'
    - '[com.jcraft.jsch.ChannelExec].setCommand(ScpTo)'
    - '[com.jcraft.jsch.Session].disconnect()'
    - '[java.io.OutputStream].write(ScpTo)'
    - '[ScpTo].checkAck(java.io.InputStream)'
    - System.exit(int)
    - '[com.jcraft.jsch.Session].connect()'
    - '[com.jcraft.jsch.Channel].connect()'
    - arg[1].substring(int,ScpTo)
    - System.err.println(String)
    - '[com.jcraft.jsch.Channel].getOutputStream()'
    - System.out.println(ScpTo)
    linkageType: ''
    returnType: void
    signature: '[ScpTo].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].read()'
      Src: ScpTo:125,1
    - Dst: '[StringBuilder].<init>()'
      Src: ScpTo:136,1
    - Dst: '[java.io.InputStream].read()'
      Src: ScpTo:139,1
    - Dst: '[StringBuilder].append(char)'
      Src: ScpTo:140,1
    - Dst: System.out.print(StringBuilder)
      Src: ScpTo:143,1
    - Dst: System.out.print(StringBuilder)
      Src: ScpTo:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - in
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 150
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 150
    functionName: '[ScpTo].checkAck(java.io.InputStream)'
    functionSourceFile: /src/jsch/examples/ScpTo.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].<init>()'
    - System.out.print(StringBuilder)
    - '[StringBuilder].append(char)'
    - '[java.io.InputStream].read()'
    linkageType: ''
    returnType: int
    signature: '[ScpTo].checkAck(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ScpTo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[ScpTo].<init>()'
    functionSourceFile: /src/jsch/examples/ScpTo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScpTo
    signature: '[ScpTo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: '[ScpTo.MyUserInfo].getPassword()'
    functionSourceFile: /src/jsch/examples/ScpTo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[ScpTo.MyUserInfo].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showOptionDialog(null,String,String,ScpTo.MyUserInfo,ScpTo.MyUserInfo,null,ScpTo.MyUserInfo)'
      Src: ScpTo.MyUserInfo:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: '[ScpTo.MyUserInfo].promptYesNo(String)'
    functionSourceFile: /src/jsch/examples/ScpTo.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showOptionDialog(null,String,String,ScpTo.MyUserInfo,ScpTo.MyUserInfo,null,ScpTo.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[ScpTo.MyUserInfo].promptYesNo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: '[ScpTo.MyUserInfo].getPassphrase()'
    functionSourceFile: /src/jsch/examples/ScpTo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[ScpTo.MyUserInfo].getPassphrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: '[ScpTo.MyUserInfo].promptPassphrase(String)'
    functionSourceFile: /src/jsch/examples/ScpTo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[ScpTo.MyUserInfo].promptPassphrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,ScpTo.MyUserInfo,String,ScpTo.MyUserInfo)'
      Src: ScpTo.MyUserInfo:182,1
    - Dst: '[JTextField].getText()'
      Src: ScpTo.MyUserInfo:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: '[ScpTo.MyUserInfo].promptPassword(String)'
    functionSourceFile: /src/jsch/examples/ScpTo.java
    functionUses: 0
    functionsReached:
    - '[JTextField].getText()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,ScpTo.MyUserInfo,String,ScpTo.MyUserInfo)'
    linkageType: ''
    returnType: boolean
    signature: '[ScpTo.MyUserInfo].promptPassword(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JOptionPane].showMessageDialog(null,String)'
      Src: ScpTo.MyUserInfo:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: '[ScpTo.MyUserInfo].showMessage(String)'
    functionSourceFile: /src/jsch/examples/ScpTo.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JOptionPane].showMessageDialog(null,String)'
    linkageType: ''
    returnType: void
    signature: '[ScpTo.MyUserInfo].showMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPanel].<init>()'
      Src: ScpTo.MyUserInfo:203,1
    - Dst: '[java.awt.GridBagLayout].<init>()'
      Src: ScpTo.MyUserInfo:204,1
    - Dst: '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
      Src: ScpTo.MyUserInfo:204,1
    - Dst: '[javax.swing.JLabel].<init>(String)'
      Src: ScpTo.MyUserInfo:209,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: ScpTo.MyUserInfo:209,1
    - Dst: '[javax.swing.JLabel].<init>()'
      Src: ScpTo.MyUserInfo:219,1
    - Dst: '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
      Src: ScpTo.MyUserInfo:219,1
    - Dst: '[javax.swing.JTextField].<init>(int)'
      Src: ScpTo.MyUserInfo:225,1
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: ScpTo.MyUserInfo:227,1
    - Dst: '[javax.swing.JPanel].add(GridBagConstraints)'
      Src: ScpTo.MyUserInfo:229,1
    - Dst: '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,ScpTo.MyUserInfo,ScpTo.MyUserInfo,ScpTo.MyUserInfo)'
      Src: ScpTo.MyUserInfo:233,1
    - Dst: texts[i].getText()
      Src: ScpTo.MyUserInfo:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String[]
      - boolean[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - destination
    - name
    - instruction
    - prompt
    - echo
    argTypes:
    - String
    - String
    - String
    - String[]
    - boolean[]
    constantsTouched: []
    func_position:
      end: 243
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 243
    functionName: '[ScpTo.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
    functionSourceFile: /src/jsch/examples/ScpTo.java
    functionUses: 0
    functionsReached:
    - '[javax.swing.JLabel].<init>()'
    - '[javax.swing.JOptionPane].showConfirmDialog(null,javax.swing.JPanel,ScpTo.MyUserInfo,ScpTo.MyUserInfo,ScpTo.MyUserInfo)'
    - '[javax.swing.JPasswordField].<init>(int)'
    - '[java.awt.GridBagLayout].<init>()'
    - '[javax.swing.JPanel].setLayout(java.awt.GridBagLayout)'
    - '[javax.swing.JPanel].<init>()'
    - '[javax.swing.JPanel].add(javax.swing.JLabel,GridBagConstraints)'
    - '[javax.swing.JPanel].add(GridBagConstraints)'
    - texts[i].getText()
    - '[javax.swing.JTextField].<init>(int)'
    - '[javax.swing.JLabel].<init>(String)'
    linkageType: ''
    returnType: String[]
    signature: '[ScpTo.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.swing.JPasswordField].<init>(int)'
      Src: ScpTo.MyUserInfo:167,1
    - Dst: '[java.awt.Insets].<init>(int,int,int,int)'
      Src: ScpTo.MyUserInfo:197,1
    - Dst: '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,ScpTo.MyUserInfo,ScpTo.MyUserInfo,java.awt.Insets,int,int)'
      Src: ScpTo.MyUserInfo:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - JTextField
      - GridBagConstraints
      - Container
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - UserInfo
      - UIKeyboardInteractive
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ScpTo.MyUserInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[ScpTo.MyUserInfo].<init>()'
    functionSourceFile: /src/jsch/examples/ScpTo.java
    functionUses: 0
    functionsReached:
    - '[java.awt.Insets].<init>(int,int,int,int)'
    - '[java.awt.GridBagConstraints].<init>(int,int,int,int,int,int,ScpTo.MyUserInfo,ScpTo.MyUserInfo,java.awt.Insets,int,int)'
    - '[javax.swing.JPasswordField].<init>(int)'
    linkageType: ''
    returnType: ScpTo.MyUserInfo
    signature: '[ScpTo.MyUserInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 9
    functionName: '[com.jcraft.jsch.Version].getVersion()'
    functionSourceFile: /src/jsch/target/generated-sources/java-templates/com/jcraft/jsch/Version.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[com.jcraft.jsch.Version].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: com.jcraft.jsch.Version
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[com.jcraft.jsch.Version].<init>()'
    functionSourceFile: /src/jsch/target/generated-sources/java-templates/com/jcraft/jsch/Version.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: com.jcraft.jsch.Version
    signature: '[com.jcraft.jsch.Version].<init>()'
Fuzzer filename: /src/jsch-fuzzer/src/main/java/com/jcraft/jsch/OpenSSHConfigFuzzer.java
Fuzzing method: '[com.jcraft.jsch.OpenSSHConfigFuzzer].fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider)'
report: name
sources:
- function_names:
  - '[com.jcraft.jsch.OpenSSHConfigFuzzer].<init>(com.code_intelligence.jazzer.api.FuzzedDataProvider)'
  - '[com.jcraft.jsch.OpenSSHConfigFuzzer].test()'
  - '[com.jcraft.jsch.OpenSSHConfigFuzzer].fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider)'
  source_file: /src/jsch-fuzzer/src/main/java/com/jcraft/jsch/OpenSSHConfigFuzzer.java
- function_names:
  - '[com.jcraft.jsch.KeyExchangeTest].testNormalize0()'
  - '[com.jcraft.jsch.KeyExchangeTest].testNormalize1()'
  - '[com.jcraft.jsch.KeyExchangeTest].testNormalize2()'
  - '[com.jcraft.jsch.KeyExchangeTest].testNormalize3()'
  - '[com.jcraft.jsch.KeyExchangeTest].testNormalizeRandom()'
  - '[com.jcraft.jsch.KeyExchangeTest].testEncodeIntRandom()'
  - '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsMPInt1()'
  - '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsMPInt2()'
  - '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsMPInt3()'
  - '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsMPIntRandom()'
  - '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsString0()'
  - '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsString1()'
  - '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsString2()'
  - '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsString3()'
  - '[com.jcraft.jsch.KeyExchangeTest].testEncodeAsStringRandom()'
  - '[com.jcraft.jsch.KeyExchangeTest].doNormalize(byte[])'
  - '[com.jcraft.jsch.KeyExchangeTest].normalize(byte[])'
  - '[com.jcraft.jsch.KeyExchangeTest].doEncodeInt(int)'
  - '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsMPInt(byte[])'
  - '[com.jcraft.jsch.KeyExchangeTest].doEncodeAsString(byte[])'
  - '[com.jcraft.jsch.KeyExchangeTest].<init>()'
  - '[com.jcraft.jsch.KeyExchangeTest.TestKex].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.KeyExchangeTest.TestKex].next(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.KeyExchangeTest.TestKex].getState()'
  - '[com.jcraft.jsch.KeyExchangeTest.TestKex].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/KeyExchangeTest.java
- function_names:
  - '[com.jcraft.jsch.JSchTest].resetJsch()'
  - '[com.jcraft.jsch.JSchTest].getPubkeyAcceptedKeyTypes()'
  - '[com.jcraft.jsch.JSchTest].setPubkeyAcceptedKeyTypes()'
  - '[com.jcraft.jsch.JSchTest].setPubkeyAcceptedKeyTypesHashtable()'
  - '[com.jcraft.jsch.JSchTest].checkLoggerBehavior()'
  - '[com.jcraft.jsch.JSchTest].getConfig()'
  - '[com.jcraft.jsch.JSchTest].<init>()'
  - '[com.jcraft.jsch.JSchTest.TestLogger].isEnabled(int)'
  - '[com.jcraft.jsch.JSchTest.TestLogger].log(int,String)'
  - '[com.jcraft.jsch.JSchTest.TestLogger].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/JSchTest.java
- function_names:
  - '[com.jcraft.jsch.KeyPairIT].beforeAll()'
  - '[com.jcraft.jsch.KeyPairIT].afterEach()'
  - '[com.jcraft.jsch.KeyPairIT].writeOpenSSHv1KeyArgs()'
  - '[com.jcraft.jsch.KeyPairIT].java15WriteOpenSSHv1KeyArgs()'
  - '[com.jcraft.jsch.KeyPairIT].connectWithPublicKey(String,String,String)'
  - '[com.jcraft.jsch.KeyPairIT].connectWithPublicKeyAndUserInfo(String,String,String)'
  - '[com.jcraft.jsch.KeyPairIT].testWriteOpenSSHv1Keys(int,int,byte[],String)'
  - '[com.jcraft.jsch.KeyPairIT].testJava15WriteOpenSSHv1Keys(int,int,byte[],String)'
  - '[com.jcraft.jsch.KeyPairIT].testBCWriteOpenSSHv1Keys(int,int,byte[],String)'
  - '[com.jcraft.jsch.KeyPairIT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,String,byte[],String)'
  - '[com.jcraft.jsch.KeyPairIT].createIdentity(String,String)'
  - '[com.jcraft.jsch.KeyPairIT].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.KeyPairIT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairIT.java
- function_names:
  - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].testJSchAlgoNegoFailException(String,String)'
  - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].createRSAIdentity()'
  - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].readHostKey(String)'
  - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].getResourceFile(String)'
  - '[com.jcraft.jsch.JSchAlgoNegoFailExceptionIT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/JSchAlgoNegoFailExceptionIT.java
- function_names:
  - '[com.jcraft.jsch.ResourceUtil].getResourceFile(Class<?>,String)'
  - '[com.jcraft.jsch.ResourceUtil].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/ResourceUtil.java
- function_names:
  - '[com.jcraft.jsch.PktSize32768IT].<init>()'
  - '[com.jcraft.jsch.PktSize32768IT].testSftp(String,String,String)'
  - '[com.jcraft.jsch.PktSize32768IT].testScp(String,String,String)'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/PktSize32768IT.java
- function_names:
  - '[com.jcraft.jsch.PktSize192IT].<init>()'
  - '[com.jcraft.jsch.PktSize192IT].testSftp(String,String,String)'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/PktSize192IT.java
- function_names:
  - '[com.jcraft.jsch.KnownHostsTest].setupTest()'
  - '[com.jcraft.jsch.KnownHostsTest].tearDownTest()'
  - '[com.jcraft.jsch.KnownHostsTest].testInstantiationValues()'
  - '[com.jcraft.jsch.KnownHostsTest].testSetKnownHostsByFilename()'
  - '[com.jcraft.jsch.KnownHostsTest].testCreateAndGetHMACSHA1()'
  - '[com.jcraft.jsch.KnownHostsTest].testSetKnownHostsHashedHost()'
  - '[com.jcraft.jsch.KnownHostsTest].testSetKnownHostsDirectHost()'
  - '[com.jcraft.jsch.KnownHostsTest].testkSyncDump()'
  - '[com.jcraft.jsch.KnownHostsTest].testDumpHostKey()'
  - '[com.jcraft.jsch.KnownHostsTest].testDeleteSubstring()'
  - '[com.jcraft.jsch.KnownHostsTest].testCreateHashedKey()'
  - '[com.jcraft.jsch.KnownHostsTest].testHashedKeyCreation()'
  - '[com.jcraft.jsch.KnownHostsTest].testHashedHostKeyHashIsMatch()'
  - '[com.jcraft.jsch.KnownHostsTest].testSyncKnownHostsFile()'
  - '[com.jcraft.jsch.KnownHostsTest].testCheck()'
  - '[com.jcraft.jsch.KnownHostsTest].testAddGetRemoveHostKeys()'
  - '[com.jcraft.jsch.KnownHostsTest].getMessagesAsString()'
  - '[com.jcraft.jsch.KnownHostsTest].addHosts(com.jcraft.jsch.KnownHosts)'
  - '[com.jcraft.jsch.KnownHostsTest].getHostKeysString(HostKey[])'
  - '[com.jcraft.jsch.KnownHostsTest].checkMessageAndReturn(String,String,boolean)'
  - '[com.jcraft.jsch.KnownHostsTest].checkUnhashedHostKey(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String,String)'
  - '[com.jcraft.jsch.KnownHostsTest].checkSHA1HashResult(com.jcraft.jsch.KnownHosts.HashedHostKey,String,String,String)'
  - '[com.jcraft.jsch.KnownHostsTest].getContent(String)'
  - '[com.jcraft.jsch.KnownHostsTest].checkResultForKeyResult(HostKey[],String,String,String)'
  - '[com.jcraft.jsch.KnownHostsTest].<init>()'
  - '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].<init>(javax.crypto.Mac)'
  - '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].update(int)'
  - '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].update(byte[],int,int)'
  - '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].init(byte[])'
  - '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].getName()'
  - '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].getBlockSize()'
  - '[com.jcraft.jsch.KnownHostsTest.BCHMACSHA1].doFinal(byte[],int)'
  - '[com.jcraft.jsch.KnownHostsTest.NotSoRandomRandom].fill(byte[],int,int)'
  - '[com.jcraft.jsch.KnownHostsTest.NotSoRandomRandom].<init>()'
  - '[com.jcraft.jsch.KnownHostsTest.TestLogger].<init>(java.util.LinkedList<String>)'
  - '[com.jcraft.jsch.KnownHostsTest.TestLogger].log(int,String)'
  - '[com.jcraft.jsch.KnownHostsTest.TestLogger].log(int,String,Throwable)'
  - '[com.jcraft.jsch.KnownHostsTest.TestLogger].isEnabled(int)'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/KnownHostsTest.java
- function_names:
  - '[com.jcraft.jsch.Algorithms4IT].beforeAll()'
  - '[com.jcraft.jsch.Algorithms4IT].beforeEach()'
  - '[com.jcraft.jsch.Algorithms4IT].afterAll()'
  - '[com.jcraft.jsch.Algorithms4IT].testJava11KEXs(String)'
  - '[com.jcraft.jsch.Algorithms4IT].testJava24KEXs(String)'
  - '[com.jcraft.jsch.Algorithms4IT].testBCKEXs(String)'
  - '[com.jcraft.jsch.Algorithms4IT].testJava24BCKEXs(String)'
  - '[com.jcraft.jsch.Algorithms4IT].createRSAIdentity()'
  - '[com.jcraft.jsch.Algorithms4IT].readHostKey(String)'
  - '[com.jcraft.jsch.Algorithms4IT].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.Algorithms4IT].doSftp(com.jcraft.jsch.Session,boolean)'
  - '[com.jcraft.jsch.Algorithms4IT].printInfo()'
  - '[com.jcraft.jsch.Algorithms4IT].checkLogs(String)'
  - '[com.jcraft.jsch.Algorithms4IT].getResourceFile(String)'
  - '[com.jcraft.jsch.Algorithms4IT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms4IT.java
- function_names:
  - '[com.jcraft.jsch.KeyPair2Test].keyArgs()'
  - '[com.jcraft.jsch.KeyPair2Test].loadKey(String,String,String)'
  - '[com.jcraft.jsch.KeyPair2Test].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2Test.java
- function_names:
  - '[com.jcraft.jsch.Log4j2LoggerTest].<init>(org.apache.logging.log4j.core.test.appender.ListAppender)'
  - '[com.jcraft.jsch.Log4j2LoggerTest].beforeEach()'
  - '[com.jcraft.jsch.Log4j2LoggerTest].testGetLevel()'
  - '[com.jcraft.jsch.Log4j2LoggerTest].testIsEnabled()'
  - '[com.jcraft.jsch.Log4j2LoggerTest].testLogging()'
  - '[com.jcraft.jsch.Log4j2LoggerTest].checkMessages(java.util.List<String>,java.util.List<java.util.Optional<Throwable>>)'
  - '[com.jcraft.jsch.Log4j2LoggerTest].setLevel(org.apache.logging.log4j.Level)'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/Log4j2LoggerTest.java
- function_names:
  - '[com.jcraft.jsch.StrictKexIT].beforeAll()'
  - '[com.jcraft.jsch.StrictKexIT].beforeEach()'
  - '[com.jcraft.jsch.StrictKexIT].afterAll()'
  - '[com.jcraft.jsch.StrictKexIT].testEnableStrictKexNoRequireStrictKex()'
  - '[com.jcraft.jsch.StrictKexIT].testEnableStrictKexRequireStrictKex()'
  - '[com.jcraft.jsch.StrictKexIT].testNoEnableStrictKexRequireStrictKex()'
  - '[com.jcraft.jsch.StrictKexIT].testNoEnableStrictKexNoRequireStrictKex()'
  - '[com.jcraft.jsch.StrictKexIT].createRSAIdentity()'
  - '[com.jcraft.jsch.StrictKexIT].readHostKey(String)'
  - '[com.jcraft.jsch.StrictKexIT].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.StrictKexIT].doSftp(com.jcraft.jsch.Session,boolean)'
  - '[com.jcraft.jsch.StrictKexIT].printInfo()'
  - '[com.jcraft.jsch.StrictKexIT].checkLogs(String)'
  - '[com.jcraft.jsch.StrictKexIT].checkNoLogs(String)'
  - '[com.jcraft.jsch.StrictKexIT].getResourceFile(String)'
  - '[com.jcraft.jsch.StrictKexIT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/StrictKexIT.java
- function_names:
  - '[com.jcraft.jsch.PktSize128IT].<init>()'
  - '[com.jcraft.jsch.PktSize128IT].testSftp(String,String,String)'
  - '[com.jcraft.jsch.PktSize128IT].testScp(String,String,String)'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/PktSize128IT.java
- function_names:
  - '[com.jcraft.jsch.JulLoggerTest].beforeAll()'
  - '[com.jcraft.jsch.JulLoggerTest].beforeEach()'
  - '[com.jcraft.jsch.JulLoggerTest].afterAll()'
  - '[com.jcraft.jsch.JulLoggerTest].testGetLevel()'
  - '[com.jcraft.jsch.JulLoggerTest].testIsEnabled()'
  - '[com.jcraft.jsch.JulLoggerTest].testLogging()'
  - '[com.jcraft.jsch.JulLoggerTest].checkMessages(java.util.List<String>,java.util.List<java.util.Optional<Throwable>>)'
  - '[com.jcraft.jsch.JulLoggerTest].<init>()'
  - '[com.jcraft.jsch.JulLoggerTest.ListHandler].<init>()'
  - '[com.jcraft.jsch.JulLoggerTest.ListHandler].publish(java.util.logging.LogRecord)'
  - '[com.jcraft.jsch.JulLoggerTest.ListHandler].flush()'
  - '[com.jcraft.jsch.JulLoggerTest.ListHandler].close()'
  - '[com.jcraft.jsch.JulLoggerTest.ListHandler].getRecords()'
  - '[com.jcraft.jsch.JulLoggerTest.ListHandler].clear()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/JulLoggerTest.java
- function_names:
  - '[com.jcraft.jsch.JSchStrictKexExceptionIT].testEnableStrictKexRequireStrictKex()'
  - '[com.jcraft.jsch.JSchStrictKexExceptionIT].testNoEnableStrictKexRequireStrictKex()'
  - '[com.jcraft.jsch.JSchStrictKexExceptionIT].createRSAIdentity()'
  - '[com.jcraft.jsch.JSchStrictKexExceptionIT].readHostKey(String)'
  - '[com.jcraft.jsch.JSchStrictKexExceptionIT].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.JSchStrictKexExceptionIT].getResourceFile(String)'
  - '[com.jcraft.jsch.JSchStrictKexExceptionIT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/JSchStrictKexExceptionIT.java
- function_names:
  - '[com.jcraft.jsch.SftpATTRSTest].beforeAll()'
  - '[com.jcraft.jsch.SftpATTRSTest].afterAll()'
  - '[com.jcraft.jsch.SftpATTRSTest].testToDateString0()'
  - '[com.jcraft.jsch.SftpATTRSTest].testToDateStringNow()'
  - '[com.jcraft.jsch.SftpATTRSTest].testToDateStringRandom()'
  - '[com.jcraft.jsch.SftpATTRSTest].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/SftpATTRSTest.java
- function_names:
  - '[com.jcraft.jsch.Algorithms2IT].beforeAll()'
  - '[com.jcraft.jsch.Algorithms2IT].beforeEach()'
  - '[com.jcraft.jsch.Algorithms2IT].afterAll()'
  - '[com.jcraft.jsch.Algorithms2IT].testJava11KEXs(String)'
  - '[com.jcraft.jsch.Algorithms2IT].testJava24KEXs(String)'
  - '[com.jcraft.jsch.Algorithms2IT].testBCKEXs(String)'
  - '[com.jcraft.jsch.Algorithms2IT].testKEXs(String)'
  - '[com.jcraft.jsch.Algorithms2IT].testDHGEXSizes(String,String)'
  - '[com.jcraft.jsch.Algorithms2IT].testJava15Ed448()'
  - '[com.jcraft.jsch.Algorithms2IT].testBCEd448()'
  - '[com.jcraft.jsch.Algorithms2IT].testEd448()'
  - '[com.jcraft.jsch.Algorithms2IT].testRSA(String)'
  - '[com.jcraft.jsch.Algorithms2IT].testCiphers(String,String)'
  - '[com.jcraft.jsch.Algorithms2IT].testMACs(String,String)'
  - '[com.jcraft.jsch.Algorithms2IT].testCompressions()'
  - '[com.jcraft.jsch.Algorithms2IT].testCompressionImpls(String)'
  - '[com.jcraft.jsch.Algorithms2IT].createRSAIdentity()'
  - '[com.jcraft.jsch.Algorithms2IT].createEd448Identity()'
  - '[com.jcraft.jsch.Algorithms2IT].readHostKey(String)'
  - '[com.jcraft.jsch.Algorithms2IT].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.Algorithms2IT].doSftp(com.jcraft.jsch.Session,boolean)'
  - '[com.jcraft.jsch.Algorithms2IT].printInfo()'
  - '[com.jcraft.jsch.Algorithms2IT].checkLogs(String)'
  - '[com.jcraft.jsch.Algorithms2IT].getResourceFile(String)'
  - '[com.jcraft.jsch.Algorithms2IT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms2IT.java
- function_names:
  - '[com.jcraft.jsch.PktSize160IT].<init>()'
  - '[com.jcraft.jsch.PktSize160IT].testSftp(String,String,String)'
  - '[com.jcraft.jsch.PktSize160IT].testScp(String,String,String)'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/PktSize160IT.java
- function_names:
  - '[com.jcraft.jsch.SessionReconnectIT].beforeAll()'
  - '[com.jcraft.jsch.SessionReconnectIT].beforeEach()'
  - '[com.jcraft.jsch.SessionReconnectIT].afterAll()'
  - '[com.jcraft.jsch.SessionReconnectIT].testReconnectWithExtraAlgorithms()'
  - '[com.jcraft.jsch.SessionReconnectIT].createRSAIdentity()'
  - '[com.jcraft.jsch.SessionReconnectIT].readHostKey(String)'
  - '[com.jcraft.jsch.SessionReconnectIT].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.SessionReconnectIT].doSftp(com.jcraft.jsch.Session,boolean)'
  - '[com.jcraft.jsch.SessionReconnectIT].printInfo()'
  - '[com.jcraft.jsch.SessionReconnectIT].getResourceFile(String)'
  - '[com.jcraft.jsch.SessionReconnectIT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/SessionReconnectIT.java
- function_names:
  - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].beforeAll()'
  - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].beforeEach()'
  - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].afterAll()'
  - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].testServerSigAlgs()'
  - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].createRSAIdentity()'
  - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].readHostKey(String)'
  - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].doSftp(com.jcraft.jsch.Session,boolean)'
  - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].printInfo()'
  - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].checkLogs(String)'
  - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].getResourceFile(String)'
  - '[com.jcraft.jsch.OpenSSH74ServerSigAlgsIT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSH74ServerSigAlgsIT.java
- function_names:
  - '[com.jcraft.jsch.UserAuthIT].beforeAll()'
  - '[com.jcraft.jsch.UserAuthIT].beforeEach()'
  - '[com.jcraft.jsch.UserAuthIT].afterAll()'
  - '[com.jcraft.jsch.UserAuthIT].testAuthNoneEnabledPubkeyAuthQueryEnabled()'
  - '[com.jcraft.jsch.UserAuthIT].testAuthNoneEnabledPubkeyAuthQueryDisabled()'
  - '[com.jcraft.jsch.UserAuthIT].testAuthNoneDisabledPubkeyAuthQueryEnabled()'
  - '[com.jcraft.jsch.UserAuthIT].testAuthNoneDisabledPubkeyAuthQueryDisabled()'
  - '[com.jcraft.jsch.UserAuthIT].createRSAIdentity()'
  - '[com.jcraft.jsch.UserAuthIT].readHostKey(String)'
  - '[com.jcraft.jsch.UserAuthIT].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.UserAuthIT].doSftp(com.jcraft.jsch.Session,boolean)'
  - '[com.jcraft.jsch.UserAuthIT].printInfo()'
  - '[com.jcraft.jsch.UserAuthIT].getResourceFile(String)'
  - '[com.jcraft.jsch.UserAuthIT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/UserAuthIT.java
- function_names:
  - '[com.jcraft.jsch.OpenSSHConfigTest].parseFile()'
  - '[com.jcraft.jsch.OpenSSHConfigTest].parseMacsCaseInsensitive(String)'
  - '[com.jcraft.jsch.OpenSSHConfigTest].appendKexAlgorithms()'
  - '[com.jcraft.jsch.OpenSSHConfigTest].appendAlgorithms(String)'
  - '[com.jcraft.jsch.OpenSSHConfigTest].prependAlgorithms(String)'
  - '[com.jcraft.jsch.OpenSSHConfigTest].prependKexAlgorithms()'
  - '[com.jcraft.jsch.OpenSSHConfigTest].removeKexAlgorithm()'
  - '[com.jcraft.jsch.OpenSSHConfigTest].replaceKexAlgorithms()'
  - '[com.jcraft.jsch.OpenSSHConfigTest].parseFileWithNegations()'
  - '[com.jcraft.jsch.OpenSSHConfigTest].timeoutsAreConvertedToMs(String)'
  - '[com.jcraft.jsch.OpenSSHConfigTest].assertUserEquals(com.jcraft.jsch.OpenSSHConfig,String,String)'
  - '[com.jcraft.jsch.OpenSSHConfigTest].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/OpenSSHConfigTest.java
- function_names:
  - '[com.jcraft.jsch.Slf4jLoggerTest].beforeEach()'
  - '[com.jcraft.jsch.Slf4jLoggerTest].afterAll()'
  - '[com.jcraft.jsch.Slf4jLoggerTest].testIsEnabled()'
  - '[com.jcraft.jsch.Slf4jLoggerTest].testLogging()'
  - '[com.jcraft.jsch.Slf4jLoggerTest].checkMessages(java.util.List<String>,java.util.List<java.util.Optional<Throwable>>)'
  - '[com.jcraft.jsch.Slf4jLoggerTest].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/Slf4jLoggerTest.java
- function_names:
  - '[com.jcraft.jsch.SSHAgentIT].beforeAll()'
  - '[com.jcraft.jsch.SSHAgentIT].beforeEach()'
  - '[com.jcraft.jsch.SSHAgentIT].afterEach()'
  - '[com.jcraft.jsch.SSHAgentIT].afterAll()'
  - '[com.jcraft.jsch.SSHAgentIT].testEd25519JUnixSocketFactory()'
  - '[com.jcraft.jsch.SSHAgentIT].testECDSA521JUnixSocketFactory()'
  - '[com.jcraft.jsch.SSHAgentIT].testECDSA384JUnixSocketFactory()'
  - '[com.jcraft.jsch.SSHAgentIT].testECDSA256JUnixSocketFactory()'
  - '[com.jcraft.jsch.SSHAgentIT].testRSAJUnixSocketFactory(String)'
  - '[com.jcraft.jsch.SSHAgentIT].testDSAJUnixSocketFactory()'
  - '[com.jcraft.jsch.SSHAgentIT].testEd25519UnixDomainSocketFactory()'
  - '[com.jcraft.jsch.SSHAgentIT].testECDSA521UnixDomainSocketFactory()'
  - '[com.jcraft.jsch.SSHAgentIT].testECDSA384UnixDomainSocketFactory()'
  - '[com.jcraft.jsch.SSHAgentIT].testECDSA256UnixDomainSocketFactory()'
  - '[com.jcraft.jsch.SSHAgentIT].testRSAUnixDomainSocketFactory(String)'
  - '[com.jcraft.jsch.SSHAgentIT].testDSAUnixDomainSocketFactory()'
  - '[com.jcraft.jsch.SSHAgentIT].createRSAIdentity(com.jcraft.jsch.USocketFactory)'
  - '[com.jcraft.jsch.SSHAgentIT].createECDSA256Identity(com.jcraft.jsch.USocketFactory)'
  - '[com.jcraft.jsch.SSHAgentIT].createECDSA384Identity(com.jcraft.jsch.USocketFactory)'
  - '[com.jcraft.jsch.SSHAgentIT].createECDSA521Identity(com.jcraft.jsch.USocketFactory)'
  - '[com.jcraft.jsch.SSHAgentIT].createDSAIdentity(com.jcraft.jsch.USocketFactory)'
  - '[com.jcraft.jsch.SSHAgentIT].createEd25519Identity(com.jcraft.jsch.USocketFactory)'
  - '[com.jcraft.jsch.SSHAgentIT].readHostKey(String)'
  - '[com.jcraft.jsch.SSHAgentIT].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.SSHAgentIT].doSftp(com.jcraft.jsch.Session,boolean)'
  - '[com.jcraft.jsch.SSHAgentIT].printInfo()'
  - '[com.jcraft.jsch.SSHAgentIT].getResourceFile(String)'
  - '[com.jcraft.jsch.SSHAgentIT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/SSHAgentIT.java
- function_names:
  - '[com.jcraft.jsch.SessionTest].parseForwarding(String,String,String,int,String)'
  - '[com.jcraft.jsch.SessionTest].sshConfigs()'
  - '[com.jcraft.jsch.SessionTest].getPubkeyAcceptedKeyTypes()'
  - '[com.jcraft.jsch.SessionTest].setPubkeyAcceptedKeyTypes()'
  - '[com.jcraft.jsch.SessionTest].checkLoggerFunctionality()'
  - '[com.jcraft.jsch.SessionTest].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/SessionTest.java
- function_names:
  - '[com.jcraft.jsch.KeyPair2IT].beforeAll()'
  - '[com.jcraft.jsch.KeyPair2IT].afterEach()'
  - '[com.jcraft.jsch.KeyPair2IT].java15WriteOpenSSHv1KeyArgs()'
  - '[com.jcraft.jsch.KeyPair2IT].connectWithPublicKey(String,String,String)'
  - '[com.jcraft.jsch.KeyPair2IT].connectWithPublicKeyAndUserInfo(String,String,String)'
  - '[com.jcraft.jsch.KeyPair2IT].testJava15WriteOpenSSHv1Keys(int,int,byte[],String)'
  - '[com.jcraft.jsch.KeyPair2IT].testBCWriteOpenSSHv1Keys(int,int,byte[],String)'
  - '[com.jcraft.jsch.KeyPair2IT]._writeOpenSSHv1Keys(com.jcraft.jsch.KeyPair,String,byte[],String)'
  - '[com.jcraft.jsch.KeyPair2IT].createIdentity(String,String)'
  - '[com.jcraft.jsch.KeyPair2IT].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.KeyPair2IT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/KeyPair2IT.java
- function_names:
  - '[com.jcraft.jsch.AlgorithmsIT].beforeAll()'
  - '[com.jcraft.jsch.AlgorithmsIT].beforeEach()'
  - '[com.jcraft.jsch.AlgorithmsIT].afterAll()'
  - '[com.jcraft.jsch.AlgorithmsIT].testJava11KEXs(String)'
  - '[com.jcraft.jsch.AlgorithmsIT].testBCKEXs(String)'
  - '[com.jcraft.jsch.AlgorithmsIT].testKEXs(String)'
  - '[com.jcraft.jsch.AlgorithmsIT].testDHGEXSizes(String,String)'
  - '[com.jcraft.jsch.AlgorithmsIT].testJava15Ed25519()'
  - '[com.jcraft.jsch.AlgorithmsIT].testBCEd25519()'
  - '[com.jcraft.jsch.AlgorithmsIT].testEd25519()'
  - '[com.jcraft.jsch.AlgorithmsIT].testECDSA521()'
  - '[com.jcraft.jsch.AlgorithmsIT].testECDSA384()'
  - '[com.jcraft.jsch.AlgorithmsIT].testECDSA256()'
  - '[com.jcraft.jsch.AlgorithmsIT].testRSA(String)'
  - '[com.jcraft.jsch.AlgorithmsIT].testDSA()'
  - '[com.jcraft.jsch.AlgorithmsIT].testCiphers(String,String)'
  - '[com.jcraft.jsch.AlgorithmsIT].testMACs(String,String)'
  - '[com.jcraft.jsch.AlgorithmsIT].testCompressions(String)'
  - '[com.jcraft.jsch.AlgorithmsIT].testCompressionImpls(String)'
  - '[com.jcraft.jsch.AlgorithmsIT].testFingerprintHashes(String)'
  - '[com.jcraft.jsch.AlgorithmsIT].createRSAIdentity()'
  - '[com.jcraft.jsch.AlgorithmsIT].createECDSA256Identity()'
  - '[com.jcraft.jsch.AlgorithmsIT].createECDSA384Identity()'
  - '[com.jcraft.jsch.AlgorithmsIT].createECDSA521Identity()'
  - '[com.jcraft.jsch.AlgorithmsIT].createDSAIdentity()'
  - '[com.jcraft.jsch.AlgorithmsIT].createEd25519Identity()'
  - '[com.jcraft.jsch.AlgorithmsIT].readHostKey(String)'
  - '[com.jcraft.jsch.AlgorithmsIT].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.AlgorithmsIT].doSftp(com.jcraft.jsch.Session,boolean)'
  - '[com.jcraft.jsch.AlgorithmsIT].printInfo()'
  - '[com.jcraft.jsch.AlgorithmsIT].checkLogs(String)'
  - '[com.jcraft.jsch.AlgorithmsIT].getResourceFile(String)'
  - '[com.jcraft.jsch.AlgorithmsIT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/AlgorithmsIT.java
- function_names:
  - '[com.jcraft.jsch.AbstractBufferMargin].<init>(int)'
  - '[com.jcraft.jsch.AbstractBufferMargin].beforeAll()'
  - '[com.jcraft.jsch.AbstractBufferMargin].beforeEach()'
  - '[com.jcraft.jsch.AbstractBufferMargin].afterAll()'
  - '[com.jcraft.jsch.AbstractBufferMargin].doTestSftp(String,String,String)'
  - '[com.jcraft.jsch.AbstractBufferMargin].doTestScp(String,String,String)'
  - '[com.jcraft.jsch.AbstractBufferMargin].createRSAIdentity()'
  - '[com.jcraft.jsch.AbstractBufferMargin].readHostKey(String)'
  - '[com.jcraft.jsch.AbstractBufferMargin].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.AbstractBufferMargin].doSftp(com.jcraft.jsch.Session,boolean)'
  - '[com.jcraft.jsch.AbstractBufferMargin].doScp(com.jcraft.jsch.Session,boolean)'
  - '[com.jcraft.jsch.AbstractBufferMargin].checkAck(java.io.InputStream)'
  - '[com.jcraft.jsch.AbstractBufferMargin].sendAck(java.io.OutputStream)'
  - '[com.jcraft.jsch.AbstractBufferMargin].printInfo()'
  - '[com.jcraft.jsch.AbstractBufferMargin].getResourceFile(String)'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/AbstractBufferMargin.java
- function_names:
  - '[com.jcraft.jsch.Algorithms3IT].beforeAll()'
  - '[com.jcraft.jsch.Algorithms3IT].beforeEach()'
  - '[com.jcraft.jsch.Algorithms3IT].afterAll()'
  - '[com.jcraft.jsch.Algorithms3IT].testCiphers(String,String)'
  - '[com.jcraft.jsch.Algorithms3IT].createRSAIdentity()'
  - '[com.jcraft.jsch.Algorithms3IT].readHostKey(String)'
  - '[com.jcraft.jsch.Algorithms3IT].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.Algorithms3IT].doSftp(com.jcraft.jsch.Session,boolean)'
  - '[com.jcraft.jsch.Algorithms3IT].printInfo()'
  - '[com.jcraft.jsch.Algorithms3IT].checkLogs(String)'
  - '[com.jcraft.jsch.Algorithms3IT].getResourceFile(String)'
  - '[com.jcraft.jsch.Algorithms3IT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/Algorithms3IT.java
- function_names:
  - '[com.jcraft.jsch.KeyPairTest].keyArgs()'
  - '[com.jcraft.jsch.KeyPairTest].loadKey(String,String,String)'
  - '[com.jcraft.jsch.KeyPairTest].genKeypair()'
  - '[com.jcraft.jsch.KeyPairTest].genKeypairEncrypted()'
  - '[com.jcraft.jsch.KeyPairTest].decryptEncryptedOpensshKey(String)'
  - '[com.jcraft.jsch.KeyPairTest].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/KeyPairTest.java
- function_names:
  - '[com.jcraft.jsch.LoggerTest].testLogging()'
  - '[com.jcraft.jsch.LoggerTest].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/LoggerTest.java
- function_names:
  - '[com.jcraft.jsch.ServerSigAlgsIT].beforeAll()'
  - '[com.jcraft.jsch.ServerSigAlgsIT].beforeEach()'
  - '[com.jcraft.jsch.ServerSigAlgsIT].afterAll()'
  - '[com.jcraft.jsch.ServerSigAlgsIT].testServerSigAlgs()'
  - '[com.jcraft.jsch.ServerSigAlgsIT].testNoServerSigAlgs()'
  - '[com.jcraft.jsch.ServerSigAlgsIT].createRSAIdentity()'
  - '[com.jcraft.jsch.ServerSigAlgsIT].readHostKey(String)'
  - '[com.jcraft.jsch.ServerSigAlgsIT].createSession(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.ServerSigAlgsIT].doSftp(com.jcraft.jsch.Session,boolean)'
  - '[com.jcraft.jsch.ServerSigAlgsIT].printInfo()'
  - '[com.jcraft.jsch.ServerSigAlgsIT].checkLogs(String)'
  - '[com.jcraft.jsch.ServerSigAlgsIT].getResourceFile(String)'
  - '[com.jcraft.jsch.ServerSigAlgsIT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/ServerSigAlgsIT.java
- function_names:
  - '[com.jcraft.jsch.MockUserInfo].<init>()'
  - '[com.jcraft.jsch.MockUserInfo].getPassphrase()'
  - '[com.jcraft.jsch.MockUserInfo].getPassword()'
  - '[com.jcraft.jsch.MockUserInfo].promptPassword(String)'
  - '[com.jcraft.jsch.MockUserInfo].promptPassphrase(String)'
  - '[com.jcraft.jsch.MockUserInfo].promptYesNo(String)'
  - '[com.jcraft.jsch.MockUserInfo].showMessage(String)'
  - '[com.jcraft.jsch.MockUserInfo].getMessages()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/MockUserInfo.java
- function_names:
  - '[com.jcraft.jsch.ExtInfoInAuthIT].beforeAll()'
  - '[com.jcraft.jsch.ExtInfoInAuthIT].beforeEach()'
  - '[com.jcraft.jsch.ExtInfoInAuthIT].afterAll()'
  - '[com.jcraft.jsch.ExtInfoInAuthIT].testExtInfoInAuthYes()'
  - '[com.jcraft.jsch.ExtInfoInAuthIT].testExtInfoInAuthNo()'
  - '[com.jcraft.jsch.ExtInfoInAuthIT].createRSAIdentity()'
  - '[com.jcraft.jsch.ExtInfoInAuthIT].readHostKey(String)'
  - '[com.jcraft.jsch.ExtInfoInAuthIT].createSession(com.jcraft.jsch.JSch,String)'
  - '[com.jcraft.jsch.ExtInfoInAuthIT].doSftp(com.jcraft.jsch.Session,String,boolean)'
  - '[com.jcraft.jsch.ExtInfoInAuthIT].printInfo()'
  - '[com.jcraft.jsch.ExtInfoInAuthIT].checkLogs(String)'
  - '[com.jcraft.jsch.ExtInfoInAuthIT].checkNoLogs(String)'
  - '[com.jcraft.jsch.ExtInfoInAuthIT].getResourceFile(String)'
  - '[com.jcraft.jsch.ExtInfoInAuthIT].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/ExtInfoInAuthIT.java
- function_names:
  - '[com.jcraft.jsch.jzlib.DeflateInflateTest].before()'
  - '[com.jcraft.jsch.jzlib.DeflateInflateTest].after()'
  - '[com.jcraft.jsch.jzlib.DeflateInflateTest].testDeflaterAndInflaterCanDeflateAndInflateDataInLargeBuffer()'
  - '[com.jcraft.jsch.jzlib.DeflateInflateTest].testDeflaterAndInflaterCanDeflateAndInflateDataInSmallBuffer()'
  - '[com.jcraft.jsch.jzlib.DeflateInflateTest].testDeflaterAndInflaterSupportDictionary()'
  - '[com.jcraft.jsch.jzlib.DeflateInflateTest].testDeflaterAndInflaterSupportSync()'
  - '[com.jcraft.jsch.jzlib.DeflateInflateTest].testInflaterCanInflateGzipData()'
  - '[com.jcraft.jsch.jzlib.DeflateInflateTest].testInflaterAndDeflaterCanSupportGzipData()'
  - '[com.jcraft.jsch.jzlib.DeflateInflateTest].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflateInflateTest.java
- function_names:
  - '[com.jcraft.jsch.jzlib.WrapperTypeTest].before()'
  - '[com.jcraft.jsch.jzlib.WrapperTypeTest].after()'
  - '[com.jcraft.jsch.jzlib.WrapperTypeTest].testDeflaterCanDetectDataTypeOfInput()'
  - '[com.jcraft.jsch.jzlib.WrapperTypeTest].testZStreamCanDetectDataTypeOfInput()'
  - '[com.jcraft.jsch.jzlib.WrapperTypeTest].testDeflaterCanSupportWbitsPlus32()'
  - '[com.jcraft.jsch.jzlib.WrapperTypeTest].deflate(com.jcraft.jsch.jzlib.ZStream,byte[],byte[])'
  - '[com.jcraft.jsch.jzlib.WrapperTypeTest].inflate(byte[],byte[],com.jcraft.jsch.jzlib.JZlib.WrapperType)'
  - '[com.jcraft.jsch.jzlib.WrapperTypeTest].inflate_fail(byte[],byte[],com.jcraft.jsch.jzlib.JZlib.WrapperType)'
  - '[com.jcraft.jsch.jzlib.WrapperTypeTest].<init>()'
  - '[com.jcraft.jsch.jzlib.WrapperTypeTest.Case].<init>(com.jcraft.jsch.jzlib.JZlib.WrapperType,java.util.List<com.jcraft.jsch.jzlib.JZlib.WrapperType>,java.util.List<com.jcraft.jsch.jzlib.JZlib.WrapperType>)'
  - '[com.jcraft.jsch.jzlib.WrapperTypeTest.Tuple].<init>(int,int,long,long)'
  - '[com.jcraft.jsch.jzlib.WrapperTypeTest.Tuple].equals(Object)'
  - '[com.jcraft.jsch.jzlib.WrapperTypeTest.Tuple].hashCode()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/WrapperTypeTest.java
- function_names:
  - '[com.jcraft.jsch.jzlib.CRC32Test].before()'
  - '[com.jcraft.jsch.jzlib.CRC32Test].after()'
  - '[com.jcraft.jsch.jzlib.CRC32Test].testCRC32IsCompatibleWithJavaUtilZipCRC32()'
  - '[com.jcraft.jsch.jzlib.CRC32Test].testCRC2CanCopyItself()'
  - '[com.jcraft.jsch.jzlib.CRC32Test].testCRC32CanCombineValues()'
  - '[com.jcraft.jsch.jzlib.CRC32Test].getValue(java.util.List<byte[]>)'
  - '[com.jcraft.jsch.jzlib.CRC32Test].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/CRC32Test.java
- function_names:
  - '[com.jcraft.jsch.jzlib.Adler32Test].before()'
  - '[com.jcraft.jsch.jzlib.Adler32Test].after()'
  - '[com.jcraft.jsch.jzlib.Adler32Test].testAdler32IsCompatibleWithJavaUtilZipAdler32()'
  - '[com.jcraft.jsch.jzlib.Adler32Test].testAdler32CanCopyItself()'
  - '[com.jcraft.jsch.jzlib.Adler32Test].testAdler32CanCombineValues()'
  - '[com.jcraft.jsch.jzlib.Adler32Test].getValue(java.util.List<byte[]>)'
  - '[com.jcraft.jsch.jzlib.Adler32Test].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Adler32Test.java
- function_names:
  - '[com.jcraft.jsch.jzlib.Package].readIS(java.io.InputStream,java.io.OutputStream,byte[])'
  - '[com.jcraft.jsch.jzlib.Package].readArray(byte[],java.io.OutputStream,byte[])'
  - '[com.jcraft.jsch.jzlib.Package].randombuf(int)'
  - '[com.jcraft.jsch.jzlib.Package].uncheckedConsumer(IOConsumer<T>)'
  - '[com.jcraft.jsch.jzlib.Package].uncheckedFunction(IOFunction<T,R>)'
  - '[com.jcraft.jsch.jzlib.Package].<init>()'
  - '[com.jcraft.jsch.jzlib.Package.IOConsumer].accept(T)'
  - '[com.jcraft.jsch.jzlib.Package.IOConsumer].<init>()'
  - '[com.jcraft.jsch.jzlib.Package.IOFunction].apply(T)'
  - '[com.jcraft.jsch.jzlib.Package.IOFunction].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/Package.java
- function_names:
  - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].before()'
  - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].after()'
  - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].testDeflaterAndInflaterCanDeflateAndInflateDataOneByOne()'
  - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].testDeflaterOutputStreamAndInflaterInputStreamCanDeflateAndInflate()'
  - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].testDeflaterAndInflaterCanDeflateAndInflateNowrapData()'
  - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].testDeflaterAndInflaterCanDeflateAndInflateNowrapDataWithMaxWbits()'
  - '[com.jcraft.jsch.jzlib.DeflaterInflaterStreamTest].<init>()'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/jzlib/DeflaterInflaterStreamTest.java
- function_names:
  - '[com.jcraft.jsch.jbcrypt.BCryptTest].testHashpw()'
  - '[com.jcraft.jsch.jbcrypt.BCryptTest].testGensaltInt()'
  - '[com.jcraft.jsch.jbcrypt.BCryptTest].testGensalt()'
  - '[com.jcraft.jsch.jbcrypt.BCryptTest].testCheckpw_success()'
  - '[com.jcraft.jsch.jbcrypt.BCryptTest].testCheckpw_failure()'
  - '[com.jcraft.jsch.jbcrypt.BCryptTest].testInternationalChars()'
  - '[com.jcraft.jsch.jbcrypt.BCryptTest].testBCryptHashTestVectors()'
  - '[com.jcraft.jsch.jbcrypt.BCryptTest].testBCryptPbkdfTestVectors()'
  - '[com.jcraft.jsch.jbcrypt.BCryptTest].<init>()'
  - '[com.jcraft.jsch.jbcrypt.BCryptTest.BCryptHashTV].<init>(byte[],byte[],byte[])'
  - '[com.jcraft.jsch.jbcrypt.BCryptTest.BCryptPbkdfTV].<init>(byte[],byte[],int,byte[])'
  source_file: /src/jsch/src/test/java/com/jcraft/jsch/jbcrypt/BCryptTest.java
- function_names:
  - '[com.jcraft.jsch.jce.MLKEM].init()'
  - '[com.jcraft.jsch.jce.MLKEM].getPublicKey()'
  - '[com.jcraft.jsch.jce.MLKEM].decapsulate(byte[])'
  - '[com.jcraft.jsch.jce.MLKEM].<init>()'
  source_file: /src/jsch/src/main/java24/com/jcraft/jsch/jce/MLKEM.java
- function_names:
  - '[com.jcraft.jsch.jce.MLKEM1024].<init>()'
  source_file: /src/jsch/src/main/java24/com/jcraft/jsch/jce/MLKEM1024.java
- function_names:
  - '[com.jcraft.jsch.jce.MLKEM768].<init>()'
  source_file: /src/jsch/src/main/java24/com/jcraft/jsch/jce/MLKEM768.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureEd25519].getName()'
  - '[com.jcraft.jsch.jce.SignatureEd25519].getAlgo()'
  - '[com.jcraft.jsch.jce.SignatureEd25519].getKeylen()'
  - '[com.jcraft.jsch.jce.SignatureEd25519].<init>()'
  source_file: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEd25519.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureEdDSA].getName()'
  - '[com.jcraft.jsch.jce.SignatureEdDSA].getAlgo()'
  - '[com.jcraft.jsch.jce.SignatureEdDSA].getKeylen()'
  - '[com.jcraft.jsch.jce.SignatureEdDSA].init()'
  - '[com.jcraft.jsch.jce.SignatureEdDSA].setPubKey(byte[])'
  - '[com.jcraft.jsch.jce.SignatureEdDSA].setPrvKey(byte[])'
  - '[com.jcraft.jsch.jce.SignatureEdDSA].sign()'
  - '[com.jcraft.jsch.jce.SignatureEdDSA].update(byte[])'
  - '[com.jcraft.jsch.jce.SignatureEdDSA].verify(byte[])'
  - '[com.jcraft.jsch.jce.SignatureEdDSA].rotate(byte[])'
  - '[com.jcraft.jsch.jce.SignatureEdDSA].<init>()'
  source_file: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEdDSA.java
- function_names:
  - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].init(String,int)'
  - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPrv()'
  - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPub()'
  - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].rotate(byte[])'
  - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].<init>()'
  source_file: /src/jsch/src/main/java15/com/jcraft/jsch/jce/KeyPairGenEdDSA.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureEd448].getName()'
  - '[com.jcraft.jsch.jce.SignatureEd448].getAlgo()'
  - '[com.jcraft.jsch.jce.SignatureEd448].getKeylen()'
  - '[com.jcraft.jsch.jce.SignatureEd448].<init>()'
  source_file: /src/jsch/src/main/java15/com/jcraft/jsch/jce/SignatureEd448.java
- function_names:
  - '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
  - '[com.jcraft.jsch.UnixDomainSocketFactory].connect(java.nio.file.Path)'
  - '[com.jcraft.jsch.UnixDomainSocketFactory].bind(java.nio.file.Path)'
  source_file: /src/jsch/src/main/java16/com/jcraft/jsch/UnixDomainSocketFactory.java
- function_names:
  - '[com.jcraft.jsch.JavaVersion].getVersion()'
  - '[com.jcraft.jsch.JavaVersion].<init>()'
  source_file: /src/jsch/src/main/java10/com/jcraft/jsch/JavaVersion.java
- function_names:
  - '[com.jcraft.jsch.jce.XDH].init(String,int)'
  - '[com.jcraft.jsch.jce.XDH].getQ()'
  - '[com.jcraft.jsch.jce.XDH].getSecret(byte[])'
  - '[com.jcraft.jsch.jce.XDH].validate(byte[])'
  - '[com.jcraft.jsch.jce.XDH].rotate(byte[])'
  - '[com.jcraft.jsch.jce.XDH].<init>()'
  source_file: /src/jsch/src/main/java11/com/jcraft/jsch/jce/XDH.java
- function_names: []
  source_file: /src/jsch/src/main/java9/module-info.java
- function_names:
  - '[com.jcraft.jsch.JavaVersion].getVersion()'
  - '[com.jcraft.jsch.JavaVersion].<init>()'
  source_file: /src/jsch/src/main/java9/com/jcraft/jsch/JavaVersion.java
- function_names:
  - '[com.jcraft.jsch.JplLogger].<init>()'
  - '[com.jcraft.jsch.JplLogger].isEnabled(int)'
  - '[com.jcraft.jsch.JplLogger].log(int,String)'
  - '[com.jcraft.jsch.JplLogger].log(int,String,Throwable)'
  - '[com.jcraft.jsch.JplLogger].getLevel(int)'
  source_file: /src/jsch/src/main/java9/com/jcraft/jsch/JplLogger.java
- function_names:
  - '[com.jcraft.jsch.ChannelDirectTCPIP].<init>()'
  - '[com.jcraft.jsch.ChannelDirectTCPIP].init()'
  - '[com.jcraft.jsch.ChannelDirectTCPIP].connect(int)'
  - '[com.jcraft.jsch.ChannelDirectTCPIP].run()'
  - '[com.jcraft.jsch.ChannelDirectTCPIP].setInputStream(java.io.InputStream)'
  - '[com.jcraft.jsch.ChannelDirectTCPIP].setOutputStream(java.io.OutputStream)'
  - '[com.jcraft.jsch.ChannelDirectTCPIP].setHost(String)'
  - '[com.jcraft.jsch.ChannelDirectTCPIP].setPort(int)'
  - '[com.jcraft.jsch.ChannelDirectTCPIP].setOrgIPAddress(String)'
  - '[com.jcraft.jsch.ChannelDirectTCPIP].setOrgPort(int)'
  - '[com.jcraft.jsch.ChannelDirectTCPIP].genChannelOpenPacket()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectTCPIP.java
- function_names:
  - '[com.jcraft.jsch.RequestAgentForwarding].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - '[com.jcraft.jsch.RequestAgentForwarding].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/RequestAgentForwarding.java
- function_names:
  - '[com.jcraft.jsch.Logger].isEnabled(int)'
  - '[com.jcraft.jsch.Logger].log(int,String)'
  - '[com.jcraft.jsch.Logger].log(int,String,Throwable)'
  - '[com.jcraft.jsch.Logger].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Logger.java
- function_names:
  - '[com.jcraft.jsch.Argon2].init(byte[],int,int,byte[],byte[],int,int,int)'
  - '[com.jcraft.jsch.Argon2].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Argon2.java
- function_names:
  - '[com.jcraft.jsch.ChannelDirectStreamLocal].<init>()'
  - '[com.jcraft.jsch.ChannelDirectStreamLocal].genChannelOpenPacket()'
  - '[com.jcraft.jsch.ChannelDirectStreamLocal].getSocketPath()'
  - '[com.jcraft.jsch.ChannelDirectStreamLocal].setSocketPath(String)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ChannelDirectStreamLocal.java
- function_names:
  - '[com.jcraft.jsch.KDF].getKey(byte[],int)'
  - '[com.jcraft.jsch.KDF].initWithOpenSSHv1KDFOptions(byte[])'
  - '[com.jcraft.jsch.KDF].initWithPPKv3Header(java.util.Map<String,String>)'
  - '[com.jcraft.jsch.KDF].initWithASN1(byte[])'
  - '[com.jcraft.jsch.KDF].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KDF.java
- function_names:
  - '[com.jcraft.jsch.JSchStrictKexException].<init>()'
  - '[com.jcraft.jsch.JSchStrictKexException].<init>(String)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JSchStrictKexException.java
- function_names:
  - '[com.jcraft.jsch.DHEC256MLKEM768].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHEC256MLKEM768.java
- function_names:
  - '[com.jcraft.jsch.DHGN].G()'
  - '[com.jcraft.jsch.DHGN].P()'
  - '[com.jcraft.jsch.DHGN].sha_name()'
  - '[com.jcraft.jsch.DHGN].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.DHGN].next(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.DHGN].getState()'
  - '[com.jcraft.jsch.DHGN].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHGN.java
- function_names:
  - '[com.jcraft.jsch.Request].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - '[com.jcraft.jsch.Request].waitForReply()'
  - '[com.jcraft.jsch.Request].setReply(boolean)'
  - '[com.jcraft.jsch.Request].write(com.jcraft.jsch.Packet)'
  - '[com.jcraft.jsch.Request].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Request.java
- function_names:
  - '[com.jcraft.jsch.JUnixSocketFactory].<init>()'
  - '[com.jcraft.jsch.JUnixSocketFactory].connect(java.nio.file.Path)'
  - '[com.jcraft.jsch.JUnixSocketFactory].bind(java.nio.file.Path)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JUnixSocketFactory.java
- function_names:
  - '[com.jcraft.jsch.AgentProxyException].<init>(String)'
  - '[com.jcraft.jsch.AgentProxyException].<init>(String,Throwable)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/AgentProxyException.java
- function_names:
  - '[com.jcraft.jsch.SSHAgentConnector].<init>()'
  - '[com.jcraft.jsch.SSHAgentConnector].<init>(java.nio.file.Path)'
  - '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory)'
  - '[com.jcraft.jsch.SSHAgentConnector].<init>(com.jcraft.jsch.USocketFactory,java.nio.file.Path)'
  - '[com.jcraft.jsch.SSHAgentConnector].getName()'
  - '[com.jcraft.jsch.SSHAgentConnector].isAvailable()'
  - '[com.jcraft.jsch.SSHAgentConnector].open()'
  - '[com.jcraft.jsch.SSHAgentConnector].query(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.SSHAgentConnector].getUSocketFactory()'
  - '[com.jcraft.jsch.SSHAgentConnector].getSshAuthSocket()'
  - '[com.jcraft.jsch.SSHAgentConnector].readFull(java.nio.channels.SocketChannel,com.jcraft.jsch.Buffer,int,int)'
  - '[com.jcraft.jsch.SSHAgentConnector].writeFull(java.nio.channels.SocketChannel,com.jcraft.jsch.Buffer,int,int)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
- function_names:
  - '[com.jcraft.jsch.DHGEX256].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX256.java
- function_names:
  - '[com.jcraft.jsch.JSchHostKeyException].<init>()'
  - '[com.jcraft.jsch.JSchHostKeyException].<init>(String)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JSchHostKeyException.java
- function_names:
  - '[com.jcraft.jsch.IdentityRepositoryWrapper].<init>(com.jcraft.jsch.IdentityRepository)'
  - '[com.jcraft.jsch.IdentityRepositoryWrapper].<init>(com.jcraft.jsch.IdentityRepository,boolean)'
  - '[com.jcraft.jsch.IdentityRepositoryWrapper].getName()'
  - '[com.jcraft.jsch.IdentityRepositoryWrapper].getStatus()'
  - '[com.jcraft.jsch.IdentityRepositoryWrapper].add(byte[])'
  - '[com.jcraft.jsch.IdentityRepositoryWrapper].remove(byte[])'
  - '[com.jcraft.jsch.IdentityRepositoryWrapper].removeAll()'
  - '[com.jcraft.jsch.IdentityRepositoryWrapper].getIdentities()'
  - '[com.jcraft.jsch.IdentityRepositoryWrapper].add(com.jcraft.jsch.Identity)'
  - '[com.jcraft.jsch.IdentityRepositoryWrapper].check()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepositoryWrapper.java
- function_names:
  - '[com.jcraft.jsch.DHG14N].G()'
  - '[com.jcraft.jsch.DHG14N].P()'
  - '[com.jcraft.jsch.DHG14N].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHG14N.java
- function_names:
  - '[com.jcraft.jsch.Buffer].<init>(int)'
  - '[com.jcraft.jsch.Buffer].<init>(byte[])'
  - '[com.jcraft.jsch.Buffer].<init>()'
  - '[com.jcraft.jsch.Buffer].putByte(byte)'
  - '[com.jcraft.jsch.Buffer].putByte(byte[])'
  - '[com.jcraft.jsch.Buffer].putByte(byte[],int,int)'
  - '[com.jcraft.jsch.Buffer].putString(byte[])'
  - '[com.jcraft.jsch.Buffer].putString(byte[],int,int)'
  - '[com.jcraft.jsch.Buffer].putInt(int)'
  - '[com.jcraft.jsch.Buffer].putLong(long)'
  - '[com.jcraft.jsch.Buffer].skip(int)'
  - '[com.jcraft.jsch.Buffer].putPad(int)'
  - '[com.jcraft.jsch.Buffer].putMPInt(byte[])'
  - '[com.jcraft.jsch.Buffer].getLength()'
  - '[com.jcraft.jsch.Buffer].getOffSet()'
  - '[com.jcraft.jsch.Buffer].setOffSet(int)'
  - '[com.jcraft.jsch.Buffer].getLong()'
  - '[com.jcraft.jsch.Buffer].getInt()'
  - '[com.jcraft.jsch.Buffer].getUInt()'
  - '[com.jcraft.jsch.Buffer].getShort()'
  - '[com.jcraft.jsch.Buffer].getByte()'
  - '[com.jcraft.jsch.Buffer].getByte(byte[])'
  - '[com.jcraft.jsch.Buffer].getByte(byte[],int,int)'
  - '[com.jcraft.jsch.Buffer].getByte(int)'
  - '[com.jcraft.jsch.Buffer].getMPInt()'
  - '[com.jcraft.jsch.Buffer].getMPIntBits()'
  - '[com.jcraft.jsch.Buffer].getString()'
  - '[com.jcraft.jsch.Buffer].getString(int[],int[])'
  - '[com.jcraft.jsch.Buffer].reset()'
  - '[com.jcraft.jsch.Buffer].shift()'
  - '[com.jcraft.jsch.Buffer].rewind()'
  - '[com.jcraft.jsch.Buffer].getCommand()'
  - '[com.jcraft.jsch.Buffer].checkFreeSize(int)'
  - '[com.jcraft.jsch.Buffer].getBytes(int,String)'
  - '[com.jcraft.jsch.Buffer].fromBytes(byte[][])'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Buffer.java
- function_names:
  - '[com.jcraft.jsch.Channel].getChannel(String,com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.Channel].getChannel(int,com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.Channel].del(com.jcraft.jsch.Channel)'
  - '[com.jcraft.jsch.Channel].<init>()'
  - '[com.jcraft.jsch.Channel].setRecipient(int)'
  - '[com.jcraft.jsch.Channel].getRecipient()'
  - '[com.jcraft.jsch.Channel].init()'
  - '[com.jcraft.jsch.Channel].connect()'
  - '[com.jcraft.jsch.Channel].connect(int)'
  - '[com.jcraft.jsch.Channel].setXForwarding(boolean)'
  - '[com.jcraft.jsch.Channel].start()'
  - '[com.jcraft.jsch.Channel].isEOF()'
  - '[com.jcraft.jsch.Channel].getData(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.Channel].setInputStream(java.io.InputStream)'
  - '[com.jcraft.jsch.Channel].setInputStream(java.io.InputStream,boolean)'
  - '[com.jcraft.jsch.Channel].setOutputStream(java.io.OutputStream)'
  - '[com.jcraft.jsch.Channel].setOutputStream(java.io.OutputStream,boolean)'
  - '[com.jcraft.jsch.Channel].setExtOutputStream(java.io.OutputStream)'
  - '[com.jcraft.jsch.Channel].setExtOutputStream(java.io.OutputStream,boolean)'
  - '[com.jcraft.jsch.Channel].getInputStream()'
  - '[com.jcraft.jsch.Channel].getExtInputStream()'
  - '[com.jcraft.jsch.Channel].getOutputStream()'
  - '[com.jcraft.jsch.Channel].setLocalWindowSizeMax(int)'
  - '[com.jcraft.jsch.Channel].setLocalWindowSize(int)'
  - '[com.jcraft.jsch.Channel].setLocalPacketSize(int)'
  - '[com.jcraft.jsch.Channel].setRemoteWindowSize(long)'
  - '[com.jcraft.jsch.Channel].addRemoteWindowSize(long)'
  - '[com.jcraft.jsch.Channel].setRemotePacketSize(int)'
  - '[com.jcraft.jsch.Channel].run()'
  - '[com.jcraft.jsch.Channel].write(byte[])'
  - '[com.jcraft.jsch.Channel].write(byte[],int,int)'
  - '[com.jcraft.jsch.Channel].write_ext(byte[],int,int)'
  - '[com.jcraft.jsch.Channel].eof_remote()'
  - '[com.jcraft.jsch.Channel].eof()'
  - '[com.jcraft.jsch.Channel].close()'
  - '[com.jcraft.jsch.Channel].isClosed()'
  - '[com.jcraft.jsch.Channel].disconnect(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.Channel].disconnect()'
  - '[com.jcraft.jsch.Channel].isConnected()'
  - '[com.jcraft.jsch.Channel].sendSignal(String)'
  - '[com.jcraft.jsch.Channel].setExitStatus(int)'
  - '[com.jcraft.jsch.Channel].getExitStatus()'
  - '[com.jcraft.jsch.Channel].setSession(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.Channel].getSession()'
  - '[com.jcraft.jsch.Channel].getId()'
  - '[com.jcraft.jsch.Channel].sendOpenConfirmation()'
  - '[com.jcraft.jsch.Channel].sendOpenFailure(int)'
  - '[com.jcraft.jsch.Channel].genChannelOpenPacket()'
  - '[com.jcraft.jsch.Channel].sendChannelOpen()'
  - '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>()'
  - '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(int)'
  - '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(int,int)'
  - '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(java.io.PipedOutputStream)'
  - '[com.jcraft.jsch.Channel.MyPipedInputStream].<init>(java.io.PipedOutputStream,int)'
  - '[com.jcraft.jsch.Channel.MyPipedInputStream].updateReadSide()'
  - '[com.jcraft.jsch.Channel.MyPipedInputStream].freeSpace()'
  - '[com.jcraft.jsch.Channel.MyPipedInputStream].checkSpace(int)'
  - '[com.jcraft.jsch.Channel.PassiveInputStream].<init>(java.io.PipedOutputStream,int)'
  - '[com.jcraft.jsch.Channel.PassiveInputStream].<init>(java.io.PipedOutputStream)'
  - '[com.jcraft.jsch.Channel.PassiveInputStream].close()'
  - '[com.jcraft.jsch.Channel.PassiveOutputStream].<init>(java.io.PipedInputStream,boolean)'
  - '[com.jcraft.jsch.Channel.PassiveOutputStream].write(int)'
  - '[com.jcraft.jsch.Channel.PassiveOutputStream].write(byte[],int,int)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Channel.java
- function_names:
  - '[com.jcraft.jsch.DHXEC].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.DHXEC].next(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.DHXEC].getState()'
  - '[com.jcraft.jsch.DHXEC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHXEC.java
- function_names:
  - '[com.jcraft.jsch.JSchSessionDisconnectException].<init>(String,int,String,String)'
  - '[com.jcraft.jsch.JSchSessionDisconnectException].getReasonCode()'
  - '[com.jcraft.jsch.JSchSessionDisconnectException].getDescription()'
  - '[com.jcraft.jsch.JSchSessionDisconnectException].getLanguageTag()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JSchSessionDisconnectException.java
- function_names:
  - '[com.jcraft.jsch.KEM].init()'
  - '[com.jcraft.jsch.KEM].getPublicKey()'
  - '[com.jcraft.jsch.KEM].decapsulate(byte[])'
  - '[com.jcraft.jsch.KEM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KEM.java
- function_names:
  - '[com.jcraft.jsch.LocalIdentityRepository].<init>(JSch.InstanceLogger)'
  - '[com.jcraft.jsch.LocalIdentityRepository].getName()'
  - '[com.jcraft.jsch.LocalIdentityRepository].getStatus()'
  - '[com.jcraft.jsch.LocalIdentityRepository].getIdentities()'
  - '[com.jcraft.jsch.LocalIdentityRepository].add(com.jcraft.jsch.Identity)'
  - '[com.jcraft.jsch.LocalIdentityRepository].add(byte[])'
  - '[com.jcraft.jsch.LocalIdentityRepository].remove(com.jcraft.jsch.Identity)'
  - '[com.jcraft.jsch.LocalIdentityRepository].remove(byte[])'
  - '[com.jcraft.jsch.LocalIdentityRepository].removeAll()'
  - '[com.jcraft.jsch.LocalIdentityRepository].removeDupulicates()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/LocalIdentityRepository.java
- function_names:
  - '[com.jcraft.jsch.SftpATTRS].getPermissionsString()'
  - '[com.jcraft.jsch.SftpATTRS].getAtimeString()'
  - '[com.jcraft.jsch.SftpATTRS].getMtimeString()'
  - '[com.jcraft.jsch.SftpATTRS].toDateString(long)'
  - '[com.jcraft.jsch.SftpATTRS].<init>()'
  - '[com.jcraft.jsch.SftpATTRS].getATTR(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.SftpATTRS].length()'
  - '[com.jcraft.jsch.SftpATTRS].dump(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.SftpATTRS].setFLAGS(int)'
  - '[com.jcraft.jsch.SftpATTRS].setSIZE(long)'
  - '[com.jcraft.jsch.SftpATTRS].setUIDGID(int,int)'
  - '[com.jcraft.jsch.SftpATTRS].setACMODTIME(int,int)'
  - '[com.jcraft.jsch.SftpATTRS].setPERMISSIONS(int)'
  - '[com.jcraft.jsch.SftpATTRS].isType(int)'
  - '[com.jcraft.jsch.SftpATTRS].isReg()'
  - '[com.jcraft.jsch.SftpATTRS].isDir()'
  - '[com.jcraft.jsch.SftpATTRS].isChr()'
  - '[com.jcraft.jsch.SftpATTRS].isBlk()'
  - '[com.jcraft.jsch.SftpATTRS].isFifo()'
  - '[com.jcraft.jsch.SftpATTRS].isLink()'
  - '[com.jcraft.jsch.SftpATTRS].isSock()'
  - '[com.jcraft.jsch.SftpATTRS].getFlags()'
  - '[com.jcraft.jsch.SftpATTRS].getSize()'
  - '[com.jcraft.jsch.SftpATTRS].getUId()'
  - '[com.jcraft.jsch.SftpATTRS].getGId()'
  - '[com.jcraft.jsch.SftpATTRS].getPermissions()'
  - '[com.jcraft.jsch.SftpATTRS].getATime()'
  - '[com.jcraft.jsch.SftpATTRS].getMTime()'
  - '[com.jcraft.jsch.SftpATTRS].getExtended()'
  - '[com.jcraft.jsch.SftpATTRS].toString()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/SftpATTRS.java
- function_names:
  - '[com.jcraft.jsch.JSchPartialAuthException].<init>()'
  - '[com.jcraft.jsch.JSchPartialAuthException].<init>(String)'
  - '[com.jcraft.jsch.JSchPartialAuthException].getMethods()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JSchPartialAuthException.java
- function_names:
  - '[com.jcraft.jsch.DHG15384].sha_name()'
  - '[com.jcraft.jsch.DHG15384].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHG15384.java
- function_names:
  - '[com.jcraft.jsch.SocketFactory].createSocket(String,int)'
  - '[com.jcraft.jsch.SocketFactory].getInputStream(java.net.Socket)'
  - '[com.jcraft.jsch.SocketFactory].getOutputStream(java.net.Socket)'
  - '[com.jcraft.jsch.SocketFactory].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/SocketFactory.java
- function_names:
  - '[com.jcraft.jsch.USocketFactory].connect(java.nio.file.Path)'
  - '[com.jcraft.jsch.USocketFactory].bind(java.nio.file.Path)'
  - '[com.jcraft.jsch.USocketFactory].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/USocketFactory.java
- function_names:
  - '[com.jcraft.jsch.HASH].init()'
  - '[com.jcraft.jsch.HASH].getBlockSize()'
  - '[com.jcraft.jsch.HASH].update(byte[],int,int)'
  - '[com.jcraft.jsch.HASH].digest()'
  - '[com.jcraft.jsch.HASH].name()'
  - '[com.jcraft.jsch.HASH].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/HASH.java
- function_names:
  - '[com.jcraft.jsch.DHGEX512].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX512.java
- function_names:
  - '[com.jcraft.jsch.JSchUnknownHostKeyException].<init>()'
  - '[com.jcraft.jsch.JSchUnknownHostKeyException].<init>(String)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JSchUnknownHostKeyException.java
- function_names:
  - '[com.jcraft.jsch.ChannelSubsystem].setWantReply(boolean)'
  - '[com.jcraft.jsch.ChannelSubsystem].setSubsystem(String)'
  - '[com.jcraft.jsch.ChannelSubsystem].start()'
  - '[com.jcraft.jsch.ChannelSubsystem].init()'
  - '[com.jcraft.jsch.ChannelSubsystem].setErrStream(java.io.OutputStream)'
  - '[com.jcraft.jsch.ChannelSubsystem].getErrStream()'
  - '[com.jcraft.jsch.ChannelSubsystem].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSubsystem.java
- function_names:
  - '[com.jcraft.jsch.DH25519SNTRUP761].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DH25519SNTRUP761.java
- function_names:
  - '[com.jcraft.jsch.DHGEX224].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX224.java
- function_names:
  - '[com.jcraft.jsch.ServerSocketFactory].createServerSocket(int,int,java.net.InetAddress)'
  - '[com.jcraft.jsch.ServerSocketFactory].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ServerSocketFactory.java
- function_names:
  - '[com.jcraft.jsch.UnixDomainSocketFactory].<init>()'
  - '[com.jcraft.jsch.UnixDomainSocketFactory].connect(java.nio.file.Path)'
  - '[com.jcraft.jsch.UnixDomainSocketFactory].bind(java.nio.file.Path)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/UnixDomainSocketFactory.java
- function_names:
  - '[com.jcraft.jsch.MAC].getName()'
  - '[com.jcraft.jsch.MAC].getBlockSize()'
  - '[com.jcraft.jsch.MAC].init(byte[])'
  - '[com.jcraft.jsch.MAC].update(byte[],int,int)'
  - '[com.jcraft.jsch.MAC].update(int)'
  - '[com.jcraft.jsch.MAC].doFinal(byte[],int)'
  - '[com.jcraft.jsch.MAC].isEtM()'
  - '[com.jcraft.jsch.MAC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/MAC.java
- function_names:
  - '[com.jcraft.jsch.IdentityRepository].getName()'
  - '[com.jcraft.jsch.IdentityRepository].getStatus()'
  - '[com.jcraft.jsch.IdentityRepository].getIdentities()'
  - '[com.jcraft.jsch.IdentityRepository].add(byte[])'
  - '[com.jcraft.jsch.IdentityRepository].remove(byte[])'
  - '[com.jcraft.jsch.IdentityRepository].removeAll()'
  - '[com.jcraft.jsch.IdentityRepository].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/IdentityRepository.java
- function_names:
  - '[com.jcraft.jsch.UIKeyboardInteractive].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[com.jcraft.jsch.UIKeyboardInteractive].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/UIKeyboardInteractive.java
- function_names:
  - '[com.jcraft.jsch.SCrypt].init(byte[],int,int,int)'
  - '[com.jcraft.jsch.SCrypt].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/SCrypt.java
- function_names:
  - '[com.jcraft.jsch.DHGEX1].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX1.java
- function_names:
  - '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream)'
  - '[com.jcraft.jsch.IO].setOutputStream(java.io.OutputStream,boolean)'
  - '[com.jcraft.jsch.IO].setExtOutputStream(java.io.OutputStream)'
  - '[com.jcraft.jsch.IO].setExtOutputStream(java.io.OutputStream,boolean)'
  - '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream)'
  - '[com.jcraft.jsch.IO].setInputStream(java.io.InputStream,boolean)'
  - '[com.jcraft.jsch.IO].put(com.jcraft.jsch.Packet)'
  - '[com.jcraft.jsch.IO].put(byte[],int,int)'
  - '[com.jcraft.jsch.IO].put_ext(byte[],int,int)'
  - '[com.jcraft.jsch.IO].getByte()'
  - '[com.jcraft.jsch.IO].getByte(byte[])'
  - '[com.jcraft.jsch.IO].getByte(byte[],int,int)'
  - '[com.jcraft.jsch.IO].out_close()'
  - '[com.jcraft.jsch.IO].close()'
  - '[com.jcraft.jsch.IO].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/IO.java
- function_names:
  - '[com.jcraft.jsch.KeyPairGenDSA].init(int)'
  - '[com.jcraft.jsch.KeyPairGenDSA].getX()'
  - '[com.jcraft.jsch.KeyPairGenDSA].getY()'
  - '[com.jcraft.jsch.KeyPairGenDSA].getP()'
  - '[com.jcraft.jsch.KeyPairGenDSA].getQ()'
  - '[com.jcraft.jsch.KeyPairGenDSA].getG()'
  - '[com.jcraft.jsch.KeyPairGenDSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenDSA.java
- function_names:
  - '[com.jcraft.jsch.JavaVersion].getVersion()'
  - '[com.jcraft.jsch.JavaVersion].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JavaVersion.java
- function_names:
  - '[com.jcraft.jsch.KeyPairEd448].<init>(JSch.InstanceLogger)'
  - '[com.jcraft.jsch.KeyPairEd448].<init>(JSch.InstanceLogger,byte[],byte[])'
  - '[com.jcraft.jsch.KeyPairEd448].getKeyType()'
  - '[com.jcraft.jsch.KeyPairEd448].getKeySize()'
  - '[com.jcraft.jsch.KeyPairEd448].getSshName()'
  - '[com.jcraft.jsch.KeyPairEd448].getJceName()'
  - '[com.jcraft.jsch.KeyPairEd448].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd448.java
- function_names:
  - '[com.jcraft.jsch.SignatureDSA].setPubKey(byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.SignatureDSA].setPrvKey(byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.SignatureDSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/SignatureDSA.java
- function_names:
  - '[com.jcraft.jsch.DH].init()'
  - '[com.jcraft.jsch.DH].setP(byte[])'
  - '[com.jcraft.jsch.DH].setG(byte[])'
  - '[com.jcraft.jsch.DH].getE()'
  - '[com.jcraft.jsch.DH].setF(byte[])'
  - '[com.jcraft.jsch.DH].getK()'
  - '[com.jcraft.jsch.DH].checkRange()'
  - '[com.jcraft.jsch.DH].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DH.java
- function_names:
  - '[com.jcraft.jsch.UserAuthKeyboardInteractive].start(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.UserAuthKeyboardInteractive].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthKeyboardInteractive.java
- function_names:
  - '[com.jcraft.jsch.JSch].setIdentityRepository(com.jcraft.jsch.IdentityRepository)'
  - '[com.jcraft.jsch.JSch].getIdentityRepository()'
  - '[com.jcraft.jsch.JSch].getConfigRepository()'
  - '[com.jcraft.jsch.JSch].setConfigRepository(com.jcraft.jsch.ConfigRepository)'
  - '[com.jcraft.jsch.JSch].<init>()'
  - '[com.jcraft.jsch.JSch].getSession(String)'
  - '[com.jcraft.jsch.JSch].getSession(String,String)'
  - '[com.jcraft.jsch.JSch].getSession(String,String,int)'
  - '[com.jcraft.jsch.JSch].addSession(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.JSch].removeSession(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.JSch].setHostKeyRepository(com.jcraft.jsch.HostKeyRepository)'
  - '[com.jcraft.jsch.JSch].setKnownHosts(String)'
  - '[com.jcraft.jsch.JSch].setKnownHosts(java.io.InputStream)'
  - '[com.jcraft.jsch.JSch].getHostKeyRepository()'
  - '[com.jcraft.jsch.JSch].addIdentity(String)'
  - '[com.jcraft.jsch.JSch].addIdentity(String,String)'
  - '[com.jcraft.jsch.JSch].addIdentity(String,byte[])'
  - '[com.jcraft.jsch.JSch].addIdentity(String,String,byte[])'
  - '[com.jcraft.jsch.JSch].addIdentity(String,byte[],byte[],byte[])'
  - '[com.jcraft.jsch.JSch].addIdentity(com.jcraft.jsch.Identity,byte[])'
  - '[com.jcraft.jsch.JSch].removeIdentity(String)'
  - '[com.jcraft.jsch.JSch].removeIdentity(com.jcraft.jsch.Identity)'
  - '[com.jcraft.jsch.JSch].getIdentityNames()'
  - '[com.jcraft.jsch.JSch].removeAllIdentity()'
  - '[com.jcraft.jsch.JSch].getConfig(String)'
  - '[com.jcraft.jsch.JSch].setConfig(java.util.Hashtable<String,String>)'
  - '[com.jcraft.jsch.JSch].setConfig(String,String)'
  - '[com.jcraft.jsch.JSch].getConfig()'
  - '[com.jcraft.jsch.JSch].setLogger(com.jcraft.jsch.Logger)'
  - '[com.jcraft.jsch.JSch].getInstanceLogger()'
  - '[com.jcraft.jsch.JSch].setInstanceLogger(com.jcraft.jsch.Logger)'
  - '[com.jcraft.jsch.JSch].getLogger()'
  - '[com.jcraft.jsch.JSch.InstanceLogger].<init>()'
  - '[com.jcraft.jsch.JSch.InstanceLogger].getLogger()'
  - '[com.jcraft.jsch.JSch.InstanceLogger].setLogger(com.jcraft.jsch.Logger)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JSch.java
- function_names:
  - '[com.jcraft.jsch.RequestSubsystem].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel,String,boolean)'
  - '[com.jcraft.jsch.RequestSubsystem].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - '[com.jcraft.jsch.RequestSubsystem].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/RequestSubsystem.java
- function_names:
  - '[com.jcraft.jsch.ChannelAgentForwarding].<init>()'
  - '[com.jcraft.jsch.ChannelAgentForwarding].run()'
  - '[com.jcraft.jsch.ChannelAgentForwarding].write(byte[],int,int)'
  - '[com.jcraft.jsch.ChannelAgentForwarding].send(byte[])'
  - '[com.jcraft.jsch.ChannelAgentForwarding].eof_remote()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ChannelAgentForwarding.java
- function_names:
  - '[com.jcraft.jsch.KnownHosts].<init>(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.KnownHosts].setKnownHosts(String)'
  - '[com.jcraft.jsch.KnownHosts].setKnownHosts(java.io.InputStream)'
  - '[com.jcraft.jsch.KnownHosts].addInvalidLine(String)'
  - '[com.jcraft.jsch.KnownHosts].getKnownHostsFile()'
  - '[com.jcraft.jsch.KnownHosts].getKnownHostsRepositoryID()'
  - '[com.jcraft.jsch.KnownHosts].check(String,byte[])'
  - '[com.jcraft.jsch.KnownHosts].add(com.jcraft.jsch.HostKey,com.jcraft.jsch.UserInfo)'
  - '[com.jcraft.jsch.KnownHosts].syncKnownHostsFile(com.jcraft.jsch.UserInfo)'
  - '[com.jcraft.jsch.KnownHosts].getHostKey()'
  - '[com.jcraft.jsch.KnownHosts].getHostKey(String,String)'
  - '[com.jcraft.jsch.KnownHosts].remove(String,String)'
  - '[com.jcraft.jsch.KnownHosts].remove(String,String,byte[])'
  - '[com.jcraft.jsch.KnownHosts].sync()'
  - '[com.jcraft.jsch.KnownHosts].sync(String)'
  - '[com.jcraft.jsch.KnownHosts].dump(java.io.OutputStream)'
  - '[com.jcraft.jsch.KnownHosts].dumpHostKey(java.io.OutputStream,com.jcraft.jsch.HostKey)'
  - '[com.jcraft.jsch.KnownHosts].deleteSubString(String,String)'
  - '[com.jcraft.jsch.KnownHosts].getHMACSHA1()'
  - '[com.jcraft.jsch.KnownHosts].createHMAC(String)'
  - '[com.jcraft.jsch.KnownHosts].createHashedHostKey(String,byte[])'
  - '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,byte[])'
  - '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,int,byte[])'
  - '[com.jcraft.jsch.KnownHosts.HashedHostKey].<init>(String,String,int,byte[],String)'
  - '[com.jcraft.jsch.KnownHosts.HashedHostKey].isMatched(String)'
  - '[com.jcraft.jsch.KnownHosts.HashedHostKey].isHashed()'
  - '[com.jcraft.jsch.KnownHosts.HashedHostKey].hash()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KnownHosts.java
- function_names:
  - '[com.jcraft.jsch.UserAuthPassword].start(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.UserAuthPassword].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthPassword.java
- function_names:
  - '[com.jcraft.jsch.DHEC521].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHEC521.java
- function_names:
  - '[com.jcraft.jsch.DH25519].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DH25519.java
- function_names:
  - '[com.jcraft.jsch.PageantConnector].<init>()'
  - '[com.jcraft.jsch.PageantConnector].getName()'
  - '[com.jcraft.jsch.PageantConnector].isAvailable()'
  - '[com.jcraft.jsch.PageantConnector].query(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.PageantConnector].createCDS(String)'
  - '[com.jcraft.jsch.PageantConnector].sendMessage(com.sun.jna.platform.win32.WinDef.HWND,com.sun.jna.platform.win32.WinUser.COPYDATASTRUCT)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/PageantConnector.java
- function_names:
  - '[com.jcraft.jsch.DHG15N].G()'
  - '[com.jcraft.jsch.DHG15N].P()'
  - '[com.jcraft.jsch.DHG15N].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHG15N.java
- function_names:
  - '[com.jcraft.jsch.PortWatcher].<init>(com.jcraft.jsch.Session,String,int,String,com.jcraft.jsch.ServerSocketFactory)'
  - '[com.jcraft.jsch.PortWatcher].bindLocalPort(String,int,com.jcraft.jsch.ServerSocketFactory)'
  - '[com.jcraft.jsch.PortWatcher].getPortForwarding(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.PortWatcher].getPort(com.jcraft.jsch.Session,String,int)'
  - '[com.jcraft.jsch.PortWatcher].normalize(String)'
  - '[com.jcraft.jsch.PortWatcher].addPort(com.jcraft.jsch.Session,String,int,String,int,com.jcraft.jsch.ServerSocketFactory)'
  - '[com.jcraft.jsch.PortWatcher].delPort(com.jcraft.jsch.Session,String,int)'
  - '[com.jcraft.jsch.PortWatcher].delPort(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.PortWatcher].<init>(com.jcraft.jsch.Session,String,int,String,int,com.jcraft.jsch.ServerSocketFactory)'
  - '[com.jcraft.jsch.PortWatcher].addSocket(com.jcraft.jsch.Session,String,int,String,com.jcraft.jsch.ServerSocketFactory)'
  - '[com.jcraft.jsch.PortWatcher].run()'
  - '[com.jcraft.jsch.PortWatcher].delete()'
  - '[com.jcraft.jsch.PortWatcher].setConnectTimeout(int)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/PortWatcher.java
- function_names:
  - '[com.jcraft.jsch.DHGEX384].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX384.java
- function_names:
  - '[com.jcraft.jsch.RequestPtyReq].setCode(String)'
  - '[com.jcraft.jsch.RequestPtyReq].setTType(String)'
  - '[com.jcraft.jsch.RequestPtyReq].setTerminalMode(byte[])'
  - '[com.jcraft.jsch.RequestPtyReq].setTSize(int,int,int,int)'
  - '[com.jcraft.jsch.RequestPtyReq].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - '[com.jcraft.jsch.RequestPtyReq].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/RequestPtyReq.java
- function_names:
  - '[com.jcraft.jsch.DHG17].G()'
  - '[com.jcraft.jsch.DHG17].P()'
  - '[com.jcraft.jsch.DHG17].sha_name()'
  - '[com.jcraft.jsch.DHG17].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHG17.java
- function_names:
  - '[com.jcraft.jsch.DHEC384].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHEC384.java
- function_names:
  - '[com.jcraft.jsch.DH448].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DH448.java
- function_names:
  - '[com.jcraft.jsch.ProxySOCKS5].<init>(String)'
  - '[com.jcraft.jsch.ProxySOCKS5].<init>(String,int)'
  - '[com.jcraft.jsch.ProxySOCKS5].setUserPasswd(String,String)'
  - '[com.jcraft.jsch.ProxySOCKS5].connect(com.jcraft.jsch.SocketFactory,String,int,int)'
  - '[com.jcraft.jsch.ProxySOCKS5].getInputStream()'
  - '[com.jcraft.jsch.ProxySOCKS5].getOutputStream()'
  - '[com.jcraft.jsch.ProxySOCKS5].getSocket()'
  - '[com.jcraft.jsch.ProxySOCKS5].close()'
  - '[com.jcraft.jsch.ProxySOCKS5].getDefaultPort()'
  - '[com.jcraft.jsch.ProxySOCKS5].fill(java.io.InputStream,byte[],int)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS5.java
- function_names:
  - '[com.jcraft.jsch.SftpStatVFS].<init>()'
  - '[com.jcraft.jsch.SftpStatVFS].getStatVFS(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.SftpStatVFS].getBlockSize()'
  - '[com.jcraft.jsch.SftpStatVFS].getFragmentSize()'
  - '[com.jcraft.jsch.SftpStatVFS].getBlocks()'
  - '[com.jcraft.jsch.SftpStatVFS].getFreeBlocks()'
  - '[com.jcraft.jsch.SftpStatVFS].getAvailBlocks()'
  - '[com.jcraft.jsch.SftpStatVFS].getINodes()'
  - '[com.jcraft.jsch.SftpStatVFS].getFreeINodes()'
  - '[com.jcraft.jsch.SftpStatVFS].getAvailINodes()'
  - '[com.jcraft.jsch.SftpStatVFS].getFileSystemID()'
  - '[com.jcraft.jsch.SftpStatVFS].getMountFlag()'
  - '[com.jcraft.jsch.SftpStatVFS].getMaximumFilenameLength()'
  - '[com.jcraft.jsch.SftpStatVFS].getSize()'
  - '[com.jcraft.jsch.SftpStatVFS].getUsed()'
  - '[com.jcraft.jsch.SftpStatVFS].getAvailForNonRoot()'
  - '[com.jcraft.jsch.SftpStatVFS].getAvail()'
  - '[com.jcraft.jsch.SftpStatVFS].getCapacity()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/SftpStatVFS.java
- function_names:
  - '[com.jcraft.jsch.RequestX11].setCookie(String)'
  - '[com.jcraft.jsch.RequestX11].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - '[com.jcraft.jsch.RequestX11].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/RequestX11.java
- function_names:
  - '[com.jcraft.jsch.DHEC384MLKEM1024].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHEC384MLKEM1024.java
- function_names:
  - '[com.jcraft.jsch.ChannelX11].revtable(byte)'
  - '[com.jcraft.jsch.ChannelX11].setCookie(String)'
  - '[com.jcraft.jsch.ChannelX11].setHost(String)'
  - '[com.jcraft.jsch.ChannelX11].setPort(int)'
  - '[com.jcraft.jsch.ChannelX11].getFakedCookie(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.ChannelX11].removeFakedCookie(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.ChannelX11].<init>()'
  - '[com.jcraft.jsch.ChannelX11].run()'
  - '[com.jcraft.jsch.ChannelX11].addCache(byte[],int,int)'
  - '[com.jcraft.jsch.ChannelX11].write(byte[],int,int)'
  - '[com.jcraft.jsch.ChannelX11].equals(byte[],byte[])'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ChannelX11.java
- function_names:
  - '[com.jcraft.jsch.ProxyHTTP].<init>(String)'
  - '[com.jcraft.jsch.ProxyHTTP].<init>(String,int)'
  - '[com.jcraft.jsch.ProxyHTTP].setUserPasswd(String,String)'
  - '[com.jcraft.jsch.ProxyHTTP].connect(com.jcraft.jsch.SocketFactory,String,int,int)'
  - '[com.jcraft.jsch.ProxyHTTP].getInputStream()'
  - '[com.jcraft.jsch.ProxyHTTP].getOutputStream()'
  - '[com.jcraft.jsch.ProxyHTTP].getSocket()'
  - '[com.jcraft.jsch.ProxyHTTP].close()'
  - '[com.jcraft.jsch.ProxyHTTP].getDefaultPort()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ProxyHTTP.java
- function_names:
  - '[com.jcraft.jsch.UserAuth].start(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.UserAuth].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/UserAuth.java
- function_names:
  - '[com.jcraft.jsch.KeyExchange].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.KeyExchange].doInit(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.KeyExchange].next(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.KeyExchange].getState()'
  - '[com.jcraft.jsch.KeyExchange].getKeyType()'
  - '[com.jcraft.jsch.KeyExchange].getKeyAlgorithName()'
  - '[com.jcraft.jsch.KeyExchange].guess(com.jcraft.jsch.Session,byte[],byte[])'
  - '[com.jcraft.jsch.KeyExchange].getFingerPrint()'
  - '[com.jcraft.jsch.KeyExchange].getK()'
  - '[com.jcraft.jsch.KeyExchange].clearK()'
  - '[com.jcraft.jsch.KeyExchange].getH()'
  - '[com.jcraft.jsch.KeyExchange].getHash()'
  - '[com.jcraft.jsch.KeyExchange].getHostKey()'
  - '[com.jcraft.jsch.KeyExchange].normalize(byte[])'
  - '[com.jcraft.jsch.KeyExchange].verify(String,byte[],int,byte[])'
  - '[com.jcraft.jsch.KeyExchange].encodeInt(int)'
  - '[com.jcraft.jsch.KeyExchange].encodeAsMPInt(byte[])'
  - '[com.jcraft.jsch.KeyExchange].encodeAsMPInt(byte[],boolean)'
  - '[com.jcraft.jsch.KeyExchange].encodeAsString(byte[])'
  - '[com.jcraft.jsch.KeyExchange].encodeAsString(byte[],boolean)'
  - '[com.jcraft.jsch.KeyExchange].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KeyExchange.java
- function_names:
  - '[com.jcraft.jsch.KeyPairEdDSA].<init>(JSch.InstanceLogger,byte[],byte[])'
  - '[com.jcraft.jsch.KeyPairEdDSA].getSshName()'
  - '[com.jcraft.jsch.KeyPairEdDSA].getJceName()'
  - '[com.jcraft.jsch.KeyPairEdDSA].generate(int)'
  - '[com.jcraft.jsch.KeyPairEdDSA].getBegin()'
  - '[com.jcraft.jsch.KeyPairEdDSA].getEnd()'
  - '[com.jcraft.jsch.KeyPairEdDSA].getPrivateKey()'
  - '[com.jcraft.jsch.KeyPairEdDSA].getOpenSSHv1PrivateKeyBlob()'
  - '[com.jcraft.jsch.KeyPairEdDSA].parse(byte[])'
  - '[com.jcraft.jsch.KeyPairEdDSA].getPublicKeyBlob()'
  - '[com.jcraft.jsch.KeyPairEdDSA].getKeyTypeName()'
  - '[com.jcraft.jsch.KeyPairEdDSA].getSignature(byte[])'
  - '[com.jcraft.jsch.KeyPairEdDSA].getSignature(byte[],String)'
  - '[com.jcraft.jsch.KeyPairEdDSA].getVerifier()'
  - '[com.jcraft.jsch.KeyPairEdDSA].getVerifier(String)'
  - '[com.jcraft.jsch.KeyPairEdDSA].forSSHAgent()'
  - '[com.jcraft.jsch.KeyPairEdDSA].dispose()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEdDSA.java
- function_names:
  - '[com.jcraft.jsch.CipherNone].getIVSize()'
  - '[com.jcraft.jsch.CipherNone].getBlockSize()'
  - '[com.jcraft.jsch.CipherNone].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.CipherNone].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.CipherNone].isCBC()'
  - '[com.jcraft.jsch.CipherNone].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/CipherNone.java
- function_names:
  - '[com.jcraft.jsch.PBKDF].getKey(byte[],byte[],int,int)'
  - '[com.jcraft.jsch.PBKDF].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/PBKDF.java
- function_names:
  - '[com.jcraft.jsch.KeyPairEd25519].<init>(JSch.InstanceLogger)'
  - '[com.jcraft.jsch.KeyPairEd25519].<init>(JSch.InstanceLogger,byte[],byte[])'
  - '[com.jcraft.jsch.KeyPairEd25519].getKeyType()'
  - '[com.jcraft.jsch.KeyPairEd25519].getKeySize()'
  - '[com.jcraft.jsch.KeyPairEd25519].getSshName()'
  - '[com.jcraft.jsch.KeyPairEd25519].getJceName()'
  - '[com.jcraft.jsch.KeyPairEd25519].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairEd25519.java
- function_names:
  - '[com.jcraft.jsch.DHEC256].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHEC256.java
- function_names:
  - '[com.jcraft.jsch.KeyPairDSA].<init>(JSch.InstanceLogger)'
  - '[com.jcraft.jsch.KeyPairDSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.KeyPairDSA].generate(int)'
  - '[com.jcraft.jsch.KeyPairDSA].getBegin()'
  - '[com.jcraft.jsch.KeyPairDSA].getEnd()'
  - '[com.jcraft.jsch.KeyPairDSA].getPrivateKey()'
  - '[com.jcraft.jsch.KeyPairDSA].getOpenSSHv1PrivateKeyBlob()'
  - '[com.jcraft.jsch.KeyPairDSA].parse(byte[])'
  - '[com.jcraft.jsch.KeyPairDSA].getPublicKeyBlob()'
  - '[com.jcraft.jsch.KeyPairDSA].getKeyTypeName()'
  - '[com.jcraft.jsch.KeyPairDSA].getKeyType()'
  - '[com.jcraft.jsch.KeyPairDSA].getKeySize()'
  - '[com.jcraft.jsch.KeyPairDSA].getSignature(byte[])'
  - '[com.jcraft.jsch.KeyPairDSA].getSignature(byte[],String)'
  - '[com.jcraft.jsch.KeyPairDSA].getVerifier()'
  - '[com.jcraft.jsch.KeyPairDSA].getVerifier(String)'
  - '[com.jcraft.jsch.KeyPairDSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.KeyPairDSA].forSSHAgent()'
  - '[com.jcraft.jsch.KeyPairDSA].dispose()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairDSA.java
- function_names:
  - '[com.jcraft.jsch.AgentIdentityRepository].<init>(com.jcraft.jsch.AgentConnector)'
  - '[com.jcraft.jsch.AgentIdentityRepository].getIdentities()'
  - '[com.jcraft.jsch.AgentIdentityRepository].add(byte[])'
  - '[com.jcraft.jsch.AgentIdentityRepository].remove(byte[])'
  - '[com.jcraft.jsch.AgentIdentityRepository].removeAll()'
  - '[com.jcraft.jsch.AgentIdentityRepository].getName()'
  - '[com.jcraft.jsch.AgentIdentityRepository].getStatus()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentityRepository.java
- function_names:
  - '[com.jcraft.jsch.JSchChangedHostKeyException].<init>()'
  - '[com.jcraft.jsch.JSchChangedHostKeyException].<init>(String)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JSchChangedHostKeyException.java
- function_names:
  - '[com.jcraft.jsch.GSSContext].create(String,String)'
  - '[com.jcraft.jsch.GSSContext].isEstablished()'
  - '[com.jcraft.jsch.GSSContext].init(byte[],int,int)'
  - '[com.jcraft.jsch.GSSContext].getMIC(byte[],int,int)'
  - '[com.jcraft.jsch.GSSContext].dispose()'
  - '[com.jcraft.jsch.GSSContext].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/GSSContext.java
- function_names:
  - '[com.jcraft.jsch.HostKeyRepository].check(String,byte[])'
  - '[com.jcraft.jsch.HostKeyRepository].add(com.jcraft.jsch.HostKey,com.jcraft.jsch.UserInfo)'
  - '[com.jcraft.jsch.HostKeyRepository].remove(String,String)'
  - '[com.jcraft.jsch.HostKeyRepository].remove(String,String,byte[])'
  - '[com.jcraft.jsch.HostKeyRepository].getKnownHostsRepositoryID()'
  - '[com.jcraft.jsch.HostKeyRepository].getHostKey()'
  - '[com.jcraft.jsch.HostKeyRepository].getHostKey(String,String)'
  - '[com.jcraft.jsch.HostKeyRepository].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/HostKeyRepository.java
- function_names:
  - '[com.jcraft.jsch.JulLogger].<init>()'
  - '[com.jcraft.jsch.JulLogger].isEnabled(int)'
  - '[com.jcraft.jsch.JulLogger].log(int,String)'
  - '[com.jcraft.jsch.JulLogger].log(int,String,Throwable)'
  - '[com.jcraft.jsch.JulLogger].getLevel(int)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JulLogger.java
- function_names:
  - '[com.jcraft.jsch.DHG14256].sha_name()'
  - '[com.jcraft.jsch.DHG14256].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHG14256.java
- function_names:
  - '[com.jcraft.jsch.DHECN].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.DHECN].next(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.DHECN].getState()'
  - '[com.jcraft.jsch.DHECN].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHECN.java
- function_names:
  - '[com.jcraft.jsch.ECDH].init(int)'
  - '[com.jcraft.jsch.ECDH].getSecret(byte[],byte[])'
  - '[com.jcraft.jsch.ECDH].getQ()'
  - '[com.jcraft.jsch.ECDH].validate(byte[],byte[])'
  - '[com.jcraft.jsch.ECDH].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ECDH.java
- function_names:
  - '[com.jcraft.jsch.ChannelSftp].setBulkRequests(int)'
  - '[com.jcraft.jsch.ChannelSftp].getBulkRequests()'
  - '[com.jcraft.jsch.ChannelSftp].setUseWriteFlushWorkaround(boolean)'
  - '[com.jcraft.jsch.ChannelSftp].getUseWriteFlushWorkaround()'
  - '[com.jcraft.jsch.ChannelSftp].<init>()'
  - '[com.jcraft.jsch.ChannelSftp].init()'
  - '[com.jcraft.jsch.ChannelSftp].start()'
  - '[com.jcraft.jsch.ChannelSftp].quit()'
  - '[com.jcraft.jsch.ChannelSftp].exit()'
  - '[com.jcraft.jsch.ChannelSftp].lcd(String)'
  - '[com.jcraft.jsch.ChannelSftp].cd(String)'
  - '[com.jcraft.jsch.ChannelSftp].put(String,String)'
  - '[com.jcraft.jsch.ChannelSftp].put(String,String,int)'
  - '[com.jcraft.jsch.ChannelSftp].put(String,String,com.jcraft.jsch.SftpProgressMonitor)'
  - '[com.jcraft.jsch.ChannelSftp].put(String,String,com.jcraft.jsch.SftpProgressMonitor,int)'
  - '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String)'
  - '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,int)'
  - '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,com.jcraft.jsch.SftpProgressMonitor)'
  - '[com.jcraft.jsch.ChannelSftp].put(java.io.InputStream,String,com.jcraft.jsch.SftpProgressMonitor,int)'
  - '[com.jcraft.jsch.ChannelSftp]._put(java.io.InputStream,String,com.jcraft.jsch.SftpProgressMonitor,int)'
  - '[com.jcraft.jsch.ChannelSftp].put(String)'
  - '[com.jcraft.jsch.ChannelSftp].put(String,int)'
  - '[com.jcraft.jsch.ChannelSftp].put(String,com.jcraft.jsch.SftpProgressMonitor,int)'
  - '[com.jcraft.jsch.ChannelSftp].put(String,com.jcraft.jsch.SftpProgressMonitor,int,long)'
  - '[com.jcraft.jsch.ChannelSftp].get(String,String)'
  - '[com.jcraft.jsch.ChannelSftp].get(String,String,com.jcraft.jsch.SftpProgressMonitor)'
  - '[com.jcraft.jsch.ChannelSftp].get(String,String,com.jcraft.jsch.SftpProgressMonitor,int)'
  - '[com.jcraft.jsch.ChannelSftp].get(String,java.io.OutputStream)'
  - '[com.jcraft.jsch.ChannelSftp].get(String,java.io.OutputStream,com.jcraft.jsch.SftpProgressMonitor)'
  - '[com.jcraft.jsch.ChannelSftp].get(String,java.io.OutputStream,com.jcraft.jsch.SftpProgressMonitor,int,long)'
  - '[com.jcraft.jsch.ChannelSftp]._get(String,java.io.OutputStream,com.jcraft.jsch.SftpProgressMonitor,int,long)'
  - '[com.jcraft.jsch.ChannelSftp].get(String)'
  - '[com.jcraft.jsch.ChannelSftp].get(String,com.jcraft.jsch.SftpProgressMonitor)'
  - '[com.jcraft.jsch.ChannelSftp].get(String,int)'
  - '[com.jcraft.jsch.ChannelSftp].get(String,com.jcraft.jsch.SftpProgressMonitor,int)'
  - '[com.jcraft.jsch.ChannelSftp].get(String,com.jcraft.jsch.SftpProgressMonitor,long)'
  - '[com.jcraft.jsch.ChannelSftp].ls(String)'
  - '[com.jcraft.jsch.ChannelSftp].ls(String,LsEntrySelector)'
  - '[com.jcraft.jsch.ChannelSftp].readlink(String)'
  - '[com.jcraft.jsch.ChannelSftp].symlink(String,String)'
  - '[com.jcraft.jsch.ChannelSftp].hardlink(String,String)'
  - '[com.jcraft.jsch.ChannelSftp].rename(String,String)'
  - '[com.jcraft.jsch.ChannelSftp].rm(String)'
  - '[com.jcraft.jsch.ChannelSftp].isRemoteDir(String)'
  - '[com.jcraft.jsch.ChannelSftp].chgrp(int,String)'
  - '[com.jcraft.jsch.ChannelSftp].chown(int,String)'
  - '[com.jcraft.jsch.ChannelSftp].chmod(int,String)'
  - '[com.jcraft.jsch.ChannelSftp].setMtime(String,int)'
  - '[com.jcraft.jsch.ChannelSftp].rmdir(String)'
  - '[com.jcraft.jsch.ChannelSftp].mkdir(String)'
  - '[com.jcraft.jsch.ChannelSftp].stat(String)'
  - '[com.jcraft.jsch.ChannelSftp]._stat(byte[])'
  - '[com.jcraft.jsch.ChannelSftp]._stat(String)'
  - '[com.jcraft.jsch.ChannelSftp].statVFS(String)'
  - '[com.jcraft.jsch.ChannelSftp]._statVFS(byte[])'
  - '[com.jcraft.jsch.ChannelSftp]._statVFS(String)'
  - '[com.jcraft.jsch.ChannelSftp].lstat(String)'
  - '[com.jcraft.jsch.ChannelSftp]._lstat(String)'
  - '[com.jcraft.jsch.ChannelSftp]._realpath(String)'
  - '[com.jcraft.jsch.ChannelSftp].setStat(String,com.jcraft.jsch.SftpATTRS)'
  - '[com.jcraft.jsch.ChannelSftp]._setStat(String,com.jcraft.jsch.SftpATTRS)'
  - '[com.jcraft.jsch.ChannelSftp].pwd()'
  - '[com.jcraft.jsch.ChannelSftp].lpwd()'
  - '[com.jcraft.jsch.ChannelSftp].version()'
  - '[com.jcraft.jsch.ChannelSftp].getHome()'
  - '[com.jcraft.jsch.ChannelSftp].getCwd()'
  - '[com.jcraft.jsch.ChannelSftp].setCwd(String)'
  - '[com.jcraft.jsch.ChannelSftp].read(byte[],int,int)'
  - '[com.jcraft.jsch.ChannelSftp].checkStatus(int[],Header)'
  - '[com.jcraft.jsch.ChannelSftp]._sendCLOSE(byte[],Header)'
  - '[com.jcraft.jsch.ChannelSftp].sendINIT()'
  - '[com.jcraft.jsch.ChannelSftp].sendREALPATH(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendSTAT(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendSTATVFS(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendLSTAT(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendFSTAT(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendSETSTAT(byte[],com.jcraft.jsch.SftpATTRS)'
  - '[com.jcraft.jsch.ChannelSftp].sendREMOVE(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendMKDIR(byte[],com.jcraft.jsch.SftpATTRS)'
  - '[com.jcraft.jsch.ChannelSftp].sendRMDIR(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendSYMLINK(byte[],byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendHARDLINK(byte[],byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendREADLINK(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendOPENDIR(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendREADDIR(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendRENAME(byte[],byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendCLOSE(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendOPENR(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendOPENW(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendOPENA(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendOPEN(byte[],int)'
  - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],String)'
  - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],byte[])'
  - '[com.jcraft.jsch.ChannelSftp].sendPacketPath(byte,byte[],byte[],String)'
  - '[com.jcraft.jsch.ChannelSftp].sendWRITE(byte[],long,byte[],int,int)'
  - '[com.jcraft.jsch.ChannelSftp].sendREAD(byte[],long,int)'
  - '[com.jcraft.jsch.ChannelSftp].sendREAD(byte[],long,int,RequestQueue)'
  - '[com.jcraft.jsch.ChannelSftp].putHEAD(com.jcraft.jsch.Buffer,byte,int)'
  - '[com.jcraft.jsch.ChannelSftp].putHEAD(byte,int)'
  - '[com.jcraft.jsch.ChannelSftp].glob_remote(String)'
  - '[com.jcraft.jsch.ChannelSftp].isPattern(byte[])'
  - '[com.jcraft.jsch.ChannelSftp].glob_local(String)'
  - '[com.jcraft.jsch.ChannelSftp].throwStatusError(com.jcraft.jsch.Buffer,int)'
  - '[com.jcraft.jsch.ChannelSftp].isLocalAbsolutePath(String)'
  - '[com.jcraft.jsch.ChannelSftp].disconnect()'
  - '[com.jcraft.jsch.ChannelSftp].isPattern(String,byte[][])'
  - '[com.jcraft.jsch.ChannelSftp].isPattern(String)'
  - '[com.jcraft.jsch.ChannelSftp].fill(com.jcraft.jsch.Buffer,int)'
  - '[com.jcraft.jsch.ChannelSftp].fill(byte[],int,int)'
  - '[com.jcraft.jsch.ChannelSftp].skip(long)'
  - '[com.jcraft.jsch.ChannelSftp].header(com.jcraft.jsch.Buffer,Header)'
  - '[com.jcraft.jsch.ChannelSftp].remoteAbsolutePath(String)'
  - '[com.jcraft.jsch.ChannelSftp].localAbsolutePath(String)'
  - '[com.jcraft.jsch.ChannelSftp].isUnique(String)'
  - '[com.jcraft.jsch.ChannelSftp].getServerVersion()'
  - '[com.jcraft.jsch.ChannelSftp].setFilenameEncoding(String)'
  - '[com.jcraft.jsch.ChannelSftp].setFilenameEncoding(java.nio.charset.Charset)'
  - '[com.jcraft.jsch.ChannelSftp].getExtension(String)'
  - '[com.jcraft.jsch.ChannelSftp].realpath(String)'
  - '[com.jcraft.jsch.ChannelSftp.RequestQueue].<init>(int)'
  - '[com.jcraft.jsch.ChannelSftp.RequestQueue].init()'
  - '[com.jcraft.jsch.ChannelSftp.RequestQueue].add(int,long,int)'
  - '[com.jcraft.jsch.ChannelSftp.RequestQueue].get(int)'
  - '[com.jcraft.jsch.ChannelSftp.RequestQueue].count()'
  - '[com.jcraft.jsch.ChannelSftp.RequestQueue].size()'
  - '[com.jcraft.jsch.ChannelSftp.RequestQueue].cancel(Header,com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.ChannelSftp.RequestQueue].getOffset()'
  - '[com.jcraft.jsch.ChannelSftp.RequestQueue.OutOfOrderException].<init>(long)'
  - '[com.jcraft.jsch.ChannelSftp.RequestQueue.Request].<init>()'
  - '[com.jcraft.jsch.ChannelSftp.Header].<init>()'
  - '[com.jcraft.jsch.ChannelSftp.LsEntry].<init>(String,String,com.jcraft.jsch.SftpATTRS)'
  - '[com.jcraft.jsch.ChannelSftp.LsEntry].getFilename()'
  - '[com.jcraft.jsch.ChannelSftp.LsEntry].setFilename(String)'
  - '[com.jcraft.jsch.ChannelSftp.LsEntry].getLongname()'
  - '[com.jcraft.jsch.ChannelSftp.LsEntry].setLongname(String)'
  - '[com.jcraft.jsch.ChannelSftp.LsEntry].getAttrs()'
  - '[com.jcraft.jsch.ChannelSftp.LsEntry].setAttrs(com.jcraft.jsch.SftpATTRS)'
  - '[com.jcraft.jsch.ChannelSftp.LsEntry].toString()'
  - '[com.jcraft.jsch.ChannelSftp.LsEntry].compareTo(LsEntry)'
  - '[com.jcraft.jsch.ChannelSftp.LsEntrySelector].select(LsEntry)'
  - '[com.jcraft.jsch.ChannelSftp.LsEntrySelector].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSftp.java
- function_names:
  - '[com.jcraft.jsch.RequestEnv].setEnv(byte[],byte[])'
  - '[com.jcraft.jsch.RequestEnv].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - '[com.jcraft.jsch.RequestEnv].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/RequestEnv.java
- function_names:
  - '[com.jcraft.jsch.ConfigRepository].getConfig(String)'
  - '[com.jcraft.jsch.ConfigRepository].<init>()'
  - '[com.jcraft.jsch.ConfigRepository.Config].getHostname()'
  - '[com.jcraft.jsch.ConfigRepository.Config].getUser()'
  - '[com.jcraft.jsch.ConfigRepository.Config].getPort()'
  - '[com.jcraft.jsch.ConfigRepository.Config].getValue(String)'
  - '[com.jcraft.jsch.ConfigRepository.Config].getValues(String)'
  - '[com.jcraft.jsch.ConfigRepository.Config].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ConfigRepository.java
- function_names:
  - '[com.jcraft.jsch.SignatureEdDSA].setPubKey(byte[])'
  - '[com.jcraft.jsch.SignatureEdDSA].setPrvKey(byte[])'
  - '[com.jcraft.jsch.SignatureEdDSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/SignatureEdDSA.java
- function_names:
  - '[com.jcraft.jsch.IdentityFile].newInstance(String,String,JSch.InstanceLogger)'
  - '[com.jcraft.jsch.IdentityFile].newInstance(String,byte[],byte[],JSch.InstanceLogger)'
  - '[com.jcraft.jsch.IdentityFile].<init>(String,com.jcraft.jsch.KeyPair)'
  - '[com.jcraft.jsch.IdentityFile].setPassphrase(byte[])'
  - '[com.jcraft.jsch.IdentityFile].getPublicKeyBlob()'
  - '[com.jcraft.jsch.IdentityFile].getSignature(byte[])'
  - '[com.jcraft.jsch.IdentityFile].getSignature(byte[],String)'
  - '[com.jcraft.jsch.IdentityFile].getAlgName()'
  - '[com.jcraft.jsch.IdentityFile].getName()'
  - '[com.jcraft.jsch.IdentityFile].isEncrypted()'
  - '[com.jcraft.jsch.IdentityFile].clear()'
  - '[com.jcraft.jsch.IdentityFile].getKeyPair()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/IdentityFile.java
- function_names:
  - '[com.jcraft.jsch.Cipher].getIVSize()'
  - '[com.jcraft.jsch.Cipher].getBlockSize()'
  - '[com.jcraft.jsch.Cipher].getTagSize()'
  - '[com.jcraft.jsch.Cipher].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.Cipher].update(int)'
  - '[com.jcraft.jsch.Cipher].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.Cipher].updateAAD(byte[],int,int)'
  - '[com.jcraft.jsch.Cipher].doFinal(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.Cipher].isCBC()'
  - '[com.jcraft.jsch.Cipher].isAEAD()'
  - '[com.jcraft.jsch.Cipher].isChaCha20()'
  - '[com.jcraft.jsch.Cipher].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Cipher.java
- function_names:
  - '[com.jcraft.jsch.UserAuthPublicKey].start(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.UserAuthPublicKey]._start(com.jcraft.jsch.Session,java.util.List<com.jcraft.jsch.Identity>,java.util.List<String>,java.util.List<String>)'
  - '[com.jcraft.jsch.UserAuthPublicKey].decryptKey(com.jcraft.jsch.Session,com.jcraft.jsch.Identity)'
  - '[com.jcraft.jsch.UserAuthPublicKey].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthPublicKey.java
- function_names:
  - '[com.jcraft.jsch.ChannelShell].<init>()'
  - '[com.jcraft.jsch.ChannelShell].start()'
  - '[com.jcraft.jsch.ChannelShell].init()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ChannelShell.java
- function_names:
  - '[com.jcraft.jsch.DHG1].G()'
  - '[com.jcraft.jsch.DHG1].P()'
  - '[com.jcraft.jsch.DHG1].sha_name()'
  - '[com.jcraft.jsch.DHG1].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHG1.java
- function_names:
  - '[com.jcraft.jsch.KeyPairGenEdDSA].init(String,int)'
  - '[com.jcraft.jsch.KeyPairGenEdDSA].getPub()'
  - '[com.jcraft.jsch.KeyPairGenEdDSA].getPrv()'
  - '[com.jcraft.jsch.KeyPairGenEdDSA].init(String,byte[])'
  - '[com.jcraft.jsch.KeyPairGenEdDSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenEdDSA.java
- function_names:
  - '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].start(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.UserAuthGSSAPIWithMIC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthGSSAPIWithMIC.java
- function_names:
  - '[com.jcraft.jsch.RequestWindowChange].setSize(int,int,int,int)'
  - '[com.jcraft.jsch.RequestWindowChange].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - '[com.jcraft.jsch.RequestWindowChange].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/RequestWindowChange.java
- function_names:
  - '[com.jcraft.jsch.UserAuthNone].start(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.UserAuthNone].getMethods()'
  - '[com.jcraft.jsch.UserAuthNone].setMethods(String)'
  - '[com.jcraft.jsch.UserAuthNone].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/UserAuthNone.java
- function_names:
  - '[com.jcraft.jsch.Proxy].connect(com.jcraft.jsch.SocketFactory,String,int,int)'
  - '[com.jcraft.jsch.Proxy].getInputStream()'
  - '[com.jcraft.jsch.Proxy].getOutputStream()'
  - '[com.jcraft.jsch.Proxy].getSocket()'
  - '[com.jcraft.jsch.Proxy].close()'
  - '[com.jcraft.jsch.Proxy].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Proxy.java
- function_names:
  - '[com.jcraft.jsch.SignatureECDSA].setPubKey(byte[],byte[])'
  - '[com.jcraft.jsch.SignatureECDSA].setPrvKey(byte[])'
  - '[com.jcraft.jsch.SignatureECDSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/SignatureECDSA.java
- function_names:
  - '[com.jcraft.jsch.Util].val(byte)'
  - '[com.jcraft.jsch.Util].fromBase64(byte[],int,int)'
  - '[com.jcraft.jsch.Util].toBase64(byte[],int,int,boolean)'
  - '[com.jcraft.jsch.Util].split(String,String)'
  - '[com.jcraft.jsch.Util].glob(byte[],byte[])'
  - '[com.jcraft.jsch.Util].glob0(byte[],int,byte[],int)'
  - '[com.jcraft.jsch.Util].glob(byte[],int,byte[],int)'
  - '[com.jcraft.jsch.Util].quote(String)'
  - '[com.jcraft.jsch.Util].unquote(String)'
  - '[com.jcraft.jsch.Util].unquote(byte[])'
  - '[com.jcraft.jsch.Util].getFingerPrint(com.jcraft.jsch.HASH,byte[],boolean,boolean)'
  - '[com.jcraft.jsch.Util].array_equals(byte[],byte)'
  - '[com.jcraft.jsch.Util].createSocket(String,int,int)'
  - '[com.jcraft.jsch.Util].str2byte(String,java.nio.charset.Charset)'
  - '[com.jcraft.jsch.Util].str2byte(String)'
  - '[com.jcraft.jsch.Util].byte2str(byte[],java.nio.charset.Charset)'
  - '[com.jcraft.jsch.Util].byte2str(byte[],int,int,java.nio.charset.Charset)'
  - '[com.jcraft.jsch.Util].byte2str(byte[])'
  - '[com.jcraft.jsch.Util].byte2str(byte[],int,int)'
  - '[com.jcraft.jsch.Util].toHex(byte[])'
  - '[com.jcraft.jsch.Util].bzero(byte[])'
  - '[com.jcraft.jsch.Util].diffString(String,String[])'
  - '[com.jcraft.jsch.Util].checkTilde(String)'
  - '[com.jcraft.jsch.Util].skipUTF8Char(byte)'
  - '[com.jcraft.jsch.Util].fromFile(String)'
  - '[com.jcraft.jsch.Util].arraysequals(byte[],byte[])'
  - '[com.jcraft.jsch.Util].getSystemEnv(String)'
  - '[com.jcraft.jsch.Util].getSystemProperty(String)'
  - '[com.jcraft.jsch.Util].getSystemProperty(String,String)'
  - '[com.jcraft.jsch.Util].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Util.java
- function_names:
  - '[com.jcraft.jsch.DHECNKEM].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.DHECNKEM].next(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.DHECNKEM].getState()'
  - '[com.jcraft.jsch.DHECNKEM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHECNKEM.java
- function_names:
  - '[com.jcraft.jsch.ForwardedTCPIPDaemon].setChannel(com.jcraft.jsch.ChannelForwardedTCPIP,java.io.InputStream,java.io.OutputStream)'
  - '[com.jcraft.jsch.ForwardedTCPIPDaemon].setArg(Object[])'
  - '[com.jcraft.jsch.ForwardedTCPIPDaemon].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ForwardedTCPIPDaemon.java
- function_names:
  - '[com.jcraft.jsch.ChannelSession].<init>()'
  - '[com.jcraft.jsch.ChannelSession].setAgentForwarding(boolean)'
  - '[com.jcraft.jsch.ChannelSession].setXForwarding(boolean)'
  - '[com.jcraft.jsch.ChannelSession].setEnv(java.util.Hashtable<byte[],byte[]>)'
  - '[com.jcraft.jsch.ChannelSession].setEnv(String,String)'
  - '[com.jcraft.jsch.ChannelSession].setEnv(byte[],byte[])'
  - '[com.jcraft.jsch.ChannelSession].getEnv()'
  - '[com.jcraft.jsch.ChannelSession].setPty(boolean)'
  - '[com.jcraft.jsch.ChannelSession].setTerminalMode(byte[])'
  - '[com.jcraft.jsch.ChannelSession].setPtySize(int,int,int,int)'
  - '[com.jcraft.jsch.ChannelSession].setPtyType(String)'
  - '[com.jcraft.jsch.ChannelSession].setPtyType(String,int,int,int,int)'
  - '[com.jcraft.jsch.ChannelSession].sendRequests()'
  - '[com.jcraft.jsch.ChannelSession].toByteArray(Object)'
  - '[com.jcraft.jsch.ChannelSession].run()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ChannelSession.java
- function_names:
  - '[com.jcraft.jsch.XDH].init(String,int)'
  - '[com.jcraft.jsch.XDH].getSecret(byte[])'
  - '[com.jcraft.jsch.XDH].getQ()'
  - '[com.jcraft.jsch.XDH].validate(byte[])'
  - '[com.jcraft.jsch.XDH].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/XDH.java
- function_names:
  - '[com.jcraft.jsch.Slf4jLogger].<init>()'
  - '[com.jcraft.jsch.Slf4jLogger].isEnabled(int)'
  - '[com.jcraft.jsch.Slf4jLogger].log(int,String)'
  - '[com.jcraft.jsch.Slf4jLogger].log(int,String,Throwable)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Slf4jLogger.java
- function_names:
  - '[com.jcraft.jsch.DH25519MLKEM768].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DH25519MLKEM768.java
- function_names:
  - '[com.jcraft.jsch.Compression].init(int,int,com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.Compression].end()'
  - '[com.jcraft.jsch.Compression].init(int,int)'
  - '[com.jcraft.jsch.Compression].compress(byte[],int,int[])'
  - '[com.jcraft.jsch.Compression].uncompress(byte[],int,int[])'
  - '[com.jcraft.jsch.Compression].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Compression.java
- function_names:
  - '[com.jcraft.jsch.JSchException].<init>()'
  - '[com.jcraft.jsch.JSchException].<init>(String)'
  - '[com.jcraft.jsch.JSchException].<init>(String,Throwable)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JSchException.java
- function_names:
  - '[com.jcraft.jsch.JSchProxyException].<init>(String)'
  - '[com.jcraft.jsch.JSchProxyException].<init>(String,Throwable)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JSchProxyException.java
- function_names:
  - '[com.jcraft.jsch.Identity].setPassphrase(byte[])'
  - '[com.jcraft.jsch.Identity].getPublicKeyBlob()'
  - '[com.jcraft.jsch.Identity].getSignature(byte[])'
  - '[com.jcraft.jsch.Identity].getSignature(byte[],String)'
  - '[com.jcraft.jsch.Identity].decrypt()'
  - '[com.jcraft.jsch.Identity].getAlgName()'
  - '[com.jcraft.jsch.Identity].getName()'
  - '[com.jcraft.jsch.Identity].isEncrypted()'
  - '[com.jcraft.jsch.Identity].clear()'
  - '[com.jcraft.jsch.Identity].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Identity.java
- function_names:
  - '[com.jcraft.jsch.PBKDF2].init(byte[],int)'
  - '[com.jcraft.jsch.PBKDF2].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/PBKDF2.java
- function_names:
  - '[com.jcraft.jsch.ChannelExec].start()'
  - '[com.jcraft.jsch.ChannelExec].setCommand(String)'
  - '[com.jcraft.jsch.ChannelExec].setCommand(byte[])'
  - '[com.jcraft.jsch.ChannelExec].init()'
  - '[com.jcraft.jsch.ChannelExec].setErrStream(java.io.OutputStream)'
  - '[com.jcraft.jsch.ChannelExec].setErrStream(java.io.OutputStream,boolean)'
  - '[com.jcraft.jsch.ChannelExec].getErrStream()'
  - '[com.jcraft.jsch.ChannelExec].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ChannelExec.java
- function_names:
  - '[com.jcraft.jsch.JplLogger].<init>()'
  - '[com.jcraft.jsch.JplLogger].isEnabled(int)'
  - '[com.jcraft.jsch.JplLogger].log(int,String)'
  - '[com.jcraft.jsch.JplLogger].log(int,String,Throwable)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JplLogger.java
- function_names:
  - '[com.jcraft.jsch.SignatureRSA].setPubKey(byte[],byte[])'
  - '[com.jcraft.jsch.SignatureRSA].setPrvKey(byte[],byte[])'
  - '[com.jcraft.jsch.SignatureRSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/SignatureRSA.java
- function_names:
  - '[com.jcraft.jsch.RequestSftp].<init>()'
  - '[com.jcraft.jsch.RequestSftp].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/RequestSftp.java
- function_names:
  - '[com.jcraft.jsch.AgentConnector].getName()'
  - '[com.jcraft.jsch.AgentConnector].isAvailable()'
  - '[com.jcraft.jsch.AgentConnector].query(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.AgentConnector].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/AgentConnector.java
- function_names:
  - '[com.jcraft.jsch.DHG18].G()'
  - '[com.jcraft.jsch.DHG18].P()'
  - '[com.jcraft.jsch.DHG18].sha_name()'
  - '[com.jcraft.jsch.DHG18].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHG18.java
- function_names:
  - '[com.jcraft.jsch.AgentIdentity].<init>(com.jcraft.jsch.AgentProxy,byte[],String)'
  - '[com.jcraft.jsch.AgentIdentity].setPassphrase(byte[])'
  - '[com.jcraft.jsch.AgentIdentity].getPublicKeyBlob()'
  - '[com.jcraft.jsch.AgentIdentity].getSignature(byte[])'
  - '[com.jcraft.jsch.AgentIdentity].getSignature(byte[],String)'
  - '[com.jcraft.jsch.AgentIdentity].getAlgName()'
  - '[com.jcraft.jsch.AgentIdentity].getName()'
  - '[com.jcraft.jsch.AgentIdentity].isEncrypted()'
  - '[com.jcraft.jsch.AgentIdentity].clear()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/AgentIdentity.java
- function_names:
  - '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int)'
  - '[com.jcraft.jsch.KeyPair].genKeyPair(com.jcraft.jsch.JSch,int,int)'
  - '[com.jcraft.jsch.KeyPair].generate(int)'
  - '[com.jcraft.jsch.KeyPair].getBegin()'
  - '[com.jcraft.jsch.KeyPair].getEnd()'
  - '[com.jcraft.jsch.KeyPair].getKeySize()'
  - '[com.jcraft.jsch.KeyPair].getSignature(byte[])'
  - '[com.jcraft.jsch.KeyPair].getSignature(byte[],String)'
  - '[com.jcraft.jsch.KeyPair].getVerifier()'
  - '[com.jcraft.jsch.KeyPair].getVerifier(String)'
  - '[com.jcraft.jsch.KeyPair].forSSHAgent()'
  - '[com.jcraft.jsch.KeyPair].getPublicKeyComment()'
  - '[com.jcraft.jsch.KeyPair].setPublicKeyComment(String)'
  - '[com.jcraft.jsch.KeyPair].<init>(JSch.InstanceLogger)'
  - '[com.jcraft.jsch.KeyPair].getPrivateKey()'
  - '[com.jcraft.jsch.KeyPair].getOpenSSHv1PrivateKeyBlob()'
  - '[com.jcraft.jsch.KeyPair].writePrivateKey(java.io.OutputStream)'
  - '[com.jcraft.jsch.KeyPair].writePrivateKey(java.io.OutputStream,byte[])'
  - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[])'
  - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],String)'
  - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],int)'
  - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(java.io.OutputStream,byte[],String,int)'
  - '[com.jcraft.jsch.KeyPair].getKeyTypeName()'
  - '[com.jcraft.jsch.KeyPair].getKeyType()'
  - '[com.jcraft.jsch.KeyPair].getKeyTypeString()'
  - '[com.jcraft.jsch.KeyPair].getPublicKeyBlob()'
  - '[com.jcraft.jsch.KeyPair].writePublicKey(java.io.OutputStream,String)'
  - '[com.jcraft.jsch.KeyPair].writePublicKey(String,String)'
  - '[com.jcraft.jsch.KeyPair].writeSECSHPublicKey(java.io.OutputStream,String)'
  - '[com.jcraft.jsch.KeyPair].writeSECSHPublicKey(String,String)'
  - '[com.jcraft.jsch.KeyPair].writePrivateKey(String)'
  - '[com.jcraft.jsch.KeyPair].writePrivateKey(String,byte[])'
  - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String)'
  - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String,byte[])'
  - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String,byte[],int)'
  - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String,byte[],String)'
  - '[com.jcraft.jsch.KeyPair].writeOpenSSHv1PrivateKey(String,byte[],String,int)'
  - '[com.jcraft.jsch.KeyPair].getFingerPrint()'
  - '[com.jcraft.jsch.KeyPair].encrypt(byte[],byte[][],byte[])'
  - '[com.jcraft.jsch.KeyPair].parse(byte[])'
  - '[com.jcraft.jsch.KeyPair].decrypt(byte[],byte[],byte[])'
  - '[com.jcraft.jsch.KeyPair].writeSEQUENCE(byte[],int,int)'
  - '[com.jcraft.jsch.KeyPair].writeINTEGER(byte[],int,byte[])'
  - '[com.jcraft.jsch.KeyPair].writeOCTETSTRING(byte[],int,byte[])'
  - '[com.jcraft.jsch.KeyPair].writeDATA(byte[],byte,int,byte[])'
  - '[com.jcraft.jsch.KeyPair].countLength(int)'
  - '[com.jcraft.jsch.KeyPair].writeLength(byte[],int,int)'
  - '[com.jcraft.jsch.KeyPair].genRandom()'
  - '[com.jcraft.jsch.KeyPair].genHash()'
  - '[com.jcraft.jsch.KeyPair].genFingerPrintHash()'
  - '[com.jcraft.jsch.KeyPair].genCipher()'
  - '[com.jcraft.jsch.KeyPair].genKey(byte[],byte[])'
  - '[com.jcraft.jsch.KeyPair].setPassphrase(String)'
  - '[com.jcraft.jsch.KeyPair].setPassphrase(byte[])'
  - '[com.jcraft.jsch.KeyPair].isEncrypted()'
  - '[com.jcraft.jsch.KeyPair].decrypt(String)'
  - '[com.jcraft.jsch.KeyPair].decrypt(byte[])'
  - '[com.jcraft.jsch.KeyPair].load(com.jcraft.jsch.JSch,String)'
  - '[com.jcraft.jsch.KeyPair].load(com.jcraft.jsch.JSch,String,String)'
  - '[com.jcraft.jsch.KeyPair].load(JSch.InstanceLogger,String,String)'
  - '[com.jcraft.jsch.KeyPair].load(com.jcraft.jsch.JSch,byte[],byte[])'
  - '[com.jcraft.jsch.KeyPair].load(JSch.InstanceLogger,byte[],byte[])'
  - '[com.jcraft.jsch.KeyPair].loadOpenSSHKeyv1(JSch.InstanceLogger,byte[])'
  - '[com.jcraft.jsch.KeyPair].isOpenSSHPrivateKey(byte[],int,int)'
  - '[com.jcraft.jsch.KeyPair].a2b(byte)'
  - '[com.jcraft.jsch.KeyPair].b2a(byte)'
  - '[com.jcraft.jsch.KeyPair].dispose()'
  - '[com.jcraft.jsch.KeyPair].finalize()'
  - '[com.jcraft.jsch.KeyPair].extractX509SubjectPublicKeyInfo(byte[],byte[],int)'
  - '[com.jcraft.jsch.KeyPair].loadPPK(JSch.InstanceLogger,byte[])'
  - '[com.jcraft.jsch.KeyPair].parsePubkeyBlob(JSch.InstanceLogger,byte[],String)'
  - '[com.jcraft.jsch.KeyPair].parseLines(com.jcraft.jsch.Buffer,int)'
  - '[com.jcraft.jsch.KeyPair].parseHeader(com.jcraft.jsch.Buffer,java.util.Map<String,String>)'
  - '[com.jcraft.jsch.KeyPair].copy(com.jcraft.jsch.KeyPair)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KeyPair.java
- function_names:
  - '[com.jcraft.jsch.DHG14].sha_name()'
  - '[com.jcraft.jsch.DHG14].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHG14.java
- function_names:
  - '[com.jcraft.jsch.KeyPairGenECDSA].init(int)'
  - '[com.jcraft.jsch.KeyPairGenECDSA].getD()'
  - '[com.jcraft.jsch.KeyPairGenECDSA].getR()'
  - '[com.jcraft.jsch.KeyPairGenECDSA].getS()'
  - '[com.jcraft.jsch.KeyPairGenECDSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenECDSA.java
- function_names:
  - '[com.jcraft.jsch.DHG14224].sha_name()'
  - '[com.jcraft.jsch.DHG14224].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHG14224.java
- function_names:
  - '[com.jcraft.jsch.Log4j2Logger].<init>()'
  - '[com.jcraft.jsch.Log4j2Logger].isEnabled(int)'
  - '[com.jcraft.jsch.Log4j2Logger].log(int,String)'
  - '[com.jcraft.jsch.Log4j2Logger].log(int,String,Throwable)'
  - '[com.jcraft.jsch.Log4j2Logger].getLevel(int)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Log4j2Logger.java
- function_names:
  - '[com.jcraft.jsch.ProxySOCKS4].<init>(String)'
  - '[com.jcraft.jsch.ProxySOCKS4].<init>(String,int)'
  - '[com.jcraft.jsch.ProxySOCKS4].setUserPasswd(String,String)'
  - '[com.jcraft.jsch.ProxySOCKS4].connect(com.jcraft.jsch.SocketFactory,String,int,int)'
  - '[com.jcraft.jsch.ProxySOCKS4].getInputStream()'
  - '[com.jcraft.jsch.ProxySOCKS4].getOutputStream()'
  - '[com.jcraft.jsch.ProxySOCKS4].getSocket()'
  - '[com.jcraft.jsch.ProxySOCKS4].close()'
  - '[com.jcraft.jsch.ProxySOCKS4].getDefaultPort()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ProxySOCKS4.java
- function_names:
  - '[com.jcraft.jsch.DHG15].sha_name()'
  - '[com.jcraft.jsch.DHG15].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHG15.java
- function_names:
  - '[com.jcraft.jsch.RequestExec].<init>(byte[])'
  - '[com.jcraft.jsch.RequestExec].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/RequestExec.java
- function_names:
  - '[com.jcraft.jsch.ChannelForwardedTCPIP].<init>()'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP].run()'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP].getData(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP].getPort(com.jcraft.jsch.Session,String,int)'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP].getPortForwarding(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP].normalize(String)'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP].addPort(com.jcraft.jsch.Session,String,int,int,String,int,com.jcraft.jsch.SocketFactory)'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP].addPort(com.jcraft.jsch.Session,String,int,int,String,Object[])'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.ChannelForwardedTCPIP)'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.Session,int)'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.Session,String,int)'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP].delPort(com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP].getRemotePort()'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP].setSocketFactory(com.jcraft.jsch.SocketFactory)'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP.Config].<init>()'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP.ConfigDaemon].<init>()'
  - '[com.jcraft.jsch.ChannelForwardedTCPIP.ConfigLHost].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/ChannelForwardedTCPIP.java
- function_names:
  - '[com.jcraft.jsch.DHG16].sha_name()'
  - '[com.jcraft.jsch.DHG16].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHG16.java
- function_names:
  - '[com.jcraft.jsch.BCrypt].init(byte[],int)'
  - '[com.jcraft.jsch.BCrypt].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/BCrypt.java
- function_names:
  - '[com.jcraft.jsch.KeyPairPKCS8].<init>(JSch.InstanceLogger)'
  - '[com.jcraft.jsch.KeyPairPKCS8].generate(int)'
  - '[com.jcraft.jsch.KeyPairPKCS8].getBegin()'
  - '[com.jcraft.jsch.KeyPairPKCS8].getEnd()'
  - '[com.jcraft.jsch.KeyPairPKCS8].getPrivateKey()'
  - '[com.jcraft.jsch.KeyPairPKCS8].getOpenSSHv1PrivateKeyBlob()'
  - '[com.jcraft.jsch.KeyPairPKCS8].parse(byte[])'
  - '[com.jcraft.jsch.KeyPairPKCS8].getPublicKeyBlob()'
  - '[com.jcraft.jsch.KeyPairPKCS8].getKeyTypeName()'
  - '[com.jcraft.jsch.KeyPairPKCS8].getKeyType()'
  - '[com.jcraft.jsch.KeyPairPKCS8].getKeySize()'
  - '[com.jcraft.jsch.KeyPairPKCS8].getSignature(byte[])'
  - '[com.jcraft.jsch.KeyPairPKCS8].getSignature(byte[],String)'
  - '[com.jcraft.jsch.KeyPairPKCS8].getVerifier()'
  - '[com.jcraft.jsch.KeyPairPKCS8].getVerifier(String)'
  - '[com.jcraft.jsch.KeyPairPKCS8].forSSHAgent()'
  - '[com.jcraft.jsch.KeyPairPKCS8].decrypt(byte[])'
  - '[com.jcraft.jsch.KeyPairPKCS8].getKDF(String)'
  - '[com.jcraft.jsch.KeyPairPKCS8].getCipher(byte[],com.jcraft.jsch.asn1.ASN1,byte[][])'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairPKCS8.java
- function_names:
  - '[com.jcraft.jsch.Session].<init>(com.jcraft.jsch.JSch,String,String,int)'
  - '[com.jcraft.jsch.Session].connect()'
  - '[com.jcraft.jsch.Session].connect(int)'
  - '[com.jcraft.jsch.Session].receive_kexinit(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.Session].checkServerStrictKex()'
  - '[com.jcraft.jsch.Session].checkServerExtInfo()'
  - '[com.jcraft.jsch.Session].getUnavailableSignatures()'
  - '[com.jcraft.jsch.Session].rekey()'
  - '[com.jcraft.jsch.Session].send_kexinit()'
  - '[com.jcraft.jsch.Session].send_newkeys()'
  - '[com.jcraft.jsch.Session].send_extinfo()'
  - '[com.jcraft.jsch.Session].checkHost(String,int,com.jcraft.jsch.KeyExchange)'
  - '[com.jcraft.jsch.Session].openChannel(String)'
  - '[com.jcraft.jsch.Session].encode(com.jcraft.jsch.Packet)'
  - '[com.jcraft.jsch.Session].read(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.Session].start_discard(com.jcraft.jsch.Buffer,com.jcraft.jsch.Cipher,com.jcraft.jsch.MAC,int,int)'
  - '[com.jcraft.jsch.Session].getSessionId()'
  - '[com.jcraft.jsch.Session].receive_newkeys(com.jcraft.jsch.Buffer,com.jcraft.jsch.KeyExchange)'
  - '[com.jcraft.jsch.Session].updateKeys(com.jcraft.jsch.KeyExchange)'
  - '[com.jcraft.jsch.Session].expandKey(com.jcraft.jsch.Buffer,byte[],byte[],byte[],com.jcraft.jsch.HASH,int)'
  - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet,com.jcraft.jsch.Channel,int)'
  - '[com.jcraft.jsch.Session].write(com.jcraft.jsch.Packet)'
  - '[com.jcraft.jsch.Session]._write(com.jcraft.jsch.Packet)'
  - '[com.jcraft.jsch.Session].run()'
  - '[com.jcraft.jsch.Session].disconnect()'
  - '[com.jcraft.jsch.Session].setThreadFactory(java.util.concurrent.ThreadFactory)'
  - '[com.jcraft.jsch.Session].getThreadFactory()'
  - '[com.jcraft.jsch.Session].setPortForwardingL(int,String,int)'
  - '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int)'
  - '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int,com.jcraft.jsch.ServerSocketFactory)'
  - '[com.jcraft.jsch.Session].setPortForwardingL(String,int,String,int,com.jcraft.jsch.ServerSocketFactory,int)'
  - '[com.jcraft.jsch.Session].setSocketForwardingL(String,int,String,com.jcraft.jsch.ServerSocketFactory,int)'
  - '[com.jcraft.jsch.Session].delPortForwardingL(int)'
  - '[com.jcraft.jsch.Session].delPortForwardingL(String,int)'
  - '[com.jcraft.jsch.Session].getPortForwardingL()'
  - '[com.jcraft.jsch.Session].setPortForwardingR(int,String,int)'
  - '[com.jcraft.jsch.Session].setPortForwardingR(String,int,String,int)'
  - '[com.jcraft.jsch.Session].setPortForwardingR(int,String,int,com.jcraft.jsch.SocketFactory)'
  - '[com.jcraft.jsch.Session].setPortForwardingR(String,int,String,int,com.jcraft.jsch.SocketFactory)'
  - '[com.jcraft.jsch.Session].setPortForwardingR(int,String)'
  - '[com.jcraft.jsch.Session].setPortForwardingR(int,String,Object[])'
  - '[com.jcraft.jsch.Session].setPortForwardingR(String,int,String,Object[])'
  - '[com.jcraft.jsch.Session].getPortForwardingR()'
  - '[com.jcraft.jsch.Session].parseForwarding(String)'
  - '[com.jcraft.jsch.Session].setPortForwardingL(String)'
  - '[com.jcraft.jsch.Session].setPortForwardingR(String)'
  - '[com.jcraft.jsch.Session].getStreamForwarder(String,int)'
  - '[com.jcraft.jsch.Session]._setPortForwardingR(String,int)'
  - '[com.jcraft.jsch.Session].delPortForwardingR(int)'
  - '[com.jcraft.jsch.Session].delPortForwardingR(String,int)'
  - '[com.jcraft.jsch.Session].initDeflater(String)'
  - '[com.jcraft.jsch.Session].initInflater(String)'
  - '[com.jcraft.jsch.Session].addChannel(com.jcraft.jsch.Channel)'
  - '[com.jcraft.jsch.Session].getServerSigAlgs()'
  - '[com.jcraft.jsch.Session].setProxy(com.jcraft.jsch.Proxy)'
  - '[com.jcraft.jsch.Session].setHost(String)'
  - '[com.jcraft.jsch.Session].setPort(int)'
  - '[com.jcraft.jsch.Session].setUserName(String)'
  - '[com.jcraft.jsch.Session].setUserInfo(com.jcraft.jsch.UserInfo)'
  - '[com.jcraft.jsch.Session].getUserInfo()'
  - '[com.jcraft.jsch.Session].setInputStream(java.io.InputStream)'
  - '[com.jcraft.jsch.Session].setOutputStream(java.io.OutputStream)'
  - '[com.jcraft.jsch.Session].setX11Host(String)'
  - '[com.jcraft.jsch.Session].setX11Port(int)'
  - '[com.jcraft.jsch.Session].setX11Cookie(String)'
  - '[com.jcraft.jsch.Session].setPassword(String)'
  - '[com.jcraft.jsch.Session].setPassword(byte[])'
  - '[com.jcraft.jsch.Session].setConfig(java.util.Properties)'
  - '[com.jcraft.jsch.Session].setConfig(java.util.Hashtable<String,String>)'
  - '[com.jcraft.jsch.Session].setConfig(String,String)'
  - '[com.jcraft.jsch.Session].getConfig(String)'
  - '[com.jcraft.jsch.Session].setSocketFactory(com.jcraft.jsch.SocketFactory)'
  - '[com.jcraft.jsch.Session].isConnected()'
  - '[com.jcraft.jsch.Session].getTimeout()'
  - '[com.jcraft.jsch.Session].setTimeout(int)'
  - '[com.jcraft.jsch.Session].getServerVersion()'
  - '[com.jcraft.jsch.Session].getClientVersion()'
  - '[com.jcraft.jsch.Session].setClientVersion(String)'
  - '[com.jcraft.jsch.Session].sendIgnore()'
  - '[com.jcraft.jsch.Session].sendKeepAliveMsg()'
  - '[com.jcraft.jsch.Session].noMoreSessionChannels()'
  - '[com.jcraft.jsch.Session].getHostKey()'
  - '[com.jcraft.jsch.Session].getHost()'
  - '[com.jcraft.jsch.Session].getUserName()'
  - '[com.jcraft.jsch.Session].getPort()'
  - '[com.jcraft.jsch.Session].setHostKeyAlias(String)'
  - '[com.jcraft.jsch.Session].getHostKeyAlias()'
  - '[com.jcraft.jsch.Session].setServerAliveInterval(int)'
  - '[com.jcraft.jsch.Session].getServerAliveInterval()'
  - '[com.jcraft.jsch.Session].setServerAliveCountMax(int)'
  - '[com.jcraft.jsch.Session].getServerAliveCountMax()'
  - '[com.jcraft.jsch.Session].setDaemonThread(boolean)'
  - '[com.jcraft.jsch.Session].checkCiphers(String)'
  - '[com.jcraft.jsch.Session].checkCipher(String)'
  - '[com.jcraft.jsch.Session].checkMacs(String)'
  - '[com.jcraft.jsch.Session].checkMac(String)'
  - '[com.jcraft.jsch.Session].checkKexes(String)'
  - '[com.jcraft.jsch.Session].checkKex(com.jcraft.jsch.Session,String)'
  - '[com.jcraft.jsch.Session].checkSignatures(String)'
  - '[com.jcraft.jsch.Session].setIdentityRepository(com.jcraft.jsch.IdentityRepository)'
  - '[com.jcraft.jsch.Session].getIdentityRepository()'
  - '[com.jcraft.jsch.Session].setHostKeyRepository(com.jcraft.jsch.HostKeyRepository)'
  - '[com.jcraft.jsch.Session].getHostKeyRepository()'
  - '[com.jcraft.jsch.Session].applyConfig()'
  - '[com.jcraft.jsch.Session].applyConfigChannel(com.jcraft.jsch.ChannelSession)'
  - '[com.jcraft.jsch.Session].requestPortForwarding()'
  - '[com.jcraft.jsch.Session].checkConfig(ConfigRepository.Config,String)'
  - '[com.jcraft.jsch.Session].getLogger()'
  - '[com.jcraft.jsch.Session].setLogger(com.jcraft.jsch.Logger)'
  - '[com.jcraft.jsch.Session].getBufferMargin()'
  - '[com.jcraft.jsch.Session.Forwarding].<init>()'
  - '[com.jcraft.jsch.Session.GlobalRequestReply].setThread(Thread)'
  - '[com.jcraft.jsch.Session.GlobalRequestReply].getThread()'
  - '[com.jcraft.jsch.Session.GlobalRequestReply].setReply(int)'
  - '[com.jcraft.jsch.Session.GlobalRequestReply].getReply()'
  - '[com.jcraft.jsch.Session.GlobalRequestReply].getPort()'
  - '[com.jcraft.jsch.Session.GlobalRequestReply].setPort(int)'
  - '[com.jcraft.jsch.Session.GlobalRequestReply].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Session.java
- function_names:
  - '[com.jcraft.jsch.HostKey].<init>(String,byte[])'
  - '[com.jcraft.jsch.HostKey].<init>(String,int,byte[])'
  - '[com.jcraft.jsch.HostKey].<init>(String,int,byte[],String)'
  - '[com.jcraft.jsch.HostKey].<init>(String,String,int,byte[],String)'
  - '[com.jcraft.jsch.HostKey].getHost()'
  - '[com.jcraft.jsch.HostKey].getType()'
  - '[com.jcraft.jsch.HostKey].name2type(String)'
  - '[com.jcraft.jsch.HostKey].getKey()'
  - '[com.jcraft.jsch.HostKey].getFingerPrint(com.jcraft.jsch.JSch)'
  - '[com.jcraft.jsch.HostKey].getComment()'
  - '[com.jcraft.jsch.HostKey].getMarker()'
  - '[com.jcraft.jsch.HostKey].isMatched(String)'
  - '[com.jcraft.jsch.HostKey].isIncluded(String)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/HostKey.java
- function_names:
  - '[com.jcraft.jsch.SftpProgressMonitor].init(int,String,String,long)'
  - '[com.jcraft.jsch.SftpProgressMonitor].count(long)'
  - '[com.jcraft.jsch.SftpProgressMonitor].end()'
  - '[com.jcraft.jsch.SftpProgressMonitor].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/SftpProgressMonitor.java
- function_names:
  - '[com.jcraft.jsch.UserInfo].getPassphrase()'
  - '[com.jcraft.jsch.UserInfo].getPassword()'
  - '[com.jcraft.jsch.UserInfo].promptPassword(String)'
  - '[com.jcraft.jsch.UserInfo].promptPassphrase(String)'
  - '[com.jcraft.jsch.UserInfo].promptYesNo(String)'
  - '[com.jcraft.jsch.UserInfo].showMessage(String)'
  - '[com.jcraft.jsch.UserInfo].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/UserInfo.java
- function_names:
  - '[com.jcraft.jsch.DHGEX].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.DHGEX].next(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.DHGEX].getState()'
  - '[com.jcraft.jsch.DHGEX].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHGEX.java
- function_names:
  - '[com.jcraft.jsch.Signature].init()'
  - '[com.jcraft.jsch.Signature].update(byte[])'
  - '[com.jcraft.jsch.Signature].verify(byte[])'
  - '[com.jcraft.jsch.Signature].sign()'
  - '[com.jcraft.jsch.Signature].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Signature.java
- function_names:
  - '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger)'
  - '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,byte[])'
  - '[com.jcraft.jsch.KeyPairECDSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.KeyPairECDSA].generate(int)'
  - '[com.jcraft.jsch.KeyPairECDSA].getBegin()'
  - '[com.jcraft.jsch.KeyPairECDSA].getEnd()'
  - '[com.jcraft.jsch.KeyPairECDSA].getPrivateKey()'
  - '[com.jcraft.jsch.KeyPairECDSA].getOpenSSHv1PrivateKeyBlob()'
  - '[com.jcraft.jsch.KeyPairECDSA].parse(byte[])'
  - '[com.jcraft.jsch.KeyPairECDSA].getPublicKeyBlob()'
  - '[com.jcraft.jsch.KeyPairECDSA].getKeyTypeName()'
  - '[com.jcraft.jsch.KeyPairECDSA].getKeyType()'
  - '[com.jcraft.jsch.KeyPairECDSA].getKeySize()'
  - '[com.jcraft.jsch.KeyPairECDSA].getSignature(byte[])'
  - '[com.jcraft.jsch.KeyPairECDSA].getSignature(byte[],String)'
  - '[com.jcraft.jsch.KeyPairECDSA].getVerifier()'
  - '[com.jcraft.jsch.KeyPairECDSA].getVerifier(String)'
  - '[com.jcraft.jsch.KeyPairECDSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.KeyPairECDSA].forSSHAgent()'
  - '[com.jcraft.jsch.KeyPairECDSA].toPoint(byte[],byte[])'
  - '[com.jcraft.jsch.KeyPairECDSA].fromPoint(byte[])'
  - '[com.jcraft.jsch.KeyPairECDSA].dispose()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairECDSA.java
- function_names:
  - '[com.jcraft.jsch.DHXECKEM].init(com.jcraft.jsch.Session,byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.DHXECKEM].next(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.DHXECKEM].getState()'
  - '[com.jcraft.jsch.DHXECKEM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHXECKEM.java
- function_names:
  - '[com.jcraft.jsch.DHG16384].sha_name()'
  - '[com.jcraft.jsch.DHG16384].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHG16384.java
- function_names:
  - '[com.jcraft.jsch.DHG15256].sha_name()'
  - '[com.jcraft.jsch.DHG15256].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHG15256.java
- function_names:
  - '[com.jcraft.jsch.KeyPairGenRSA].init(int)'
  - '[com.jcraft.jsch.KeyPairGenRSA].getD()'
  - '[com.jcraft.jsch.KeyPairGenRSA].getE()'
  - '[com.jcraft.jsch.KeyPairGenRSA].getN()'
  - '[com.jcraft.jsch.KeyPairGenRSA].getC()'
  - '[com.jcraft.jsch.KeyPairGenRSA].getEP()'
  - '[com.jcraft.jsch.KeyPairGenRSA].getEQ()'
  - '[com.jcraft.jsch.KeyPairGenRSA].getP()'
  - '[com.jcraft.jsch.KeyPairGenRSA].getQ()'
  - '[com.jcraft.jsch.KeyPairGenRSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairGenRSA.java
- function_names:
  - '[com.jcraft.jsch.SftpException].<init>(int,String)'
  - '[com.jcraft.jsch.SftpException].<init>(int,String,Throwable)'
  - '[com.jcraft.jsch.SftpException].toString()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/SftpException.java
- function_names:
  - '[com.jcraft.jsch.OpenSSHConfig].parse(String)'
  - '[com.jcraft.jsch.OpenSSHConfig].parseFile(String)'
  - '[com.jcraft.jsch.OpenSSHConfig].<init>(java.io.BufferedReader)'
  - '[com.jcraft.jsch.OpenSSHConfig]._parse(java.io.BufferedReader)'
  - '[com.jcraft.jsch.OpenSSHConfig].getConfig(String)'
  - '[com.jcraft.jsch.OpenSSHConfig].getKeymap()'
  - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].<init>(String)'
  - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].find(String)'
  - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].logError(String,NumberFormatException)'
  - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].multiFind(String)'
  - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getHostname()'
  - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getUser()'
  - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getPort()'
  - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getValue(String)'
  - '[com.jcraft.jsch.OpenSSHConfig.MyConfig].getValues(String)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/OpenSSHConfig.java
- function_names:
  - '[com.jcraft.jsch.Random].fill(byte[],int,int)'
  - '[com.jcraft.jsch.Random].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Random.java
- function_names:
  - '[com.jcraft.jsch.DHG16N].G()'
  - '[com.jcraft.jsch.DHG16N].P()'
  - '[com.jcraft.jsch.DHG16N].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/DHG16N.java
- function_names:
  - '[com.jcraft.jsch.JSchAlgoNegoFailException].<init>(int,String,String)'
  - '[com.jcraft.jsch.JSchAlgoNegoFailException].getAlgorithmName()'
  - '[com.jcraft.jsch.JSchAlgoNegoFailException].getJSchProposal()'
  - '[com.jcraft.jsch.JSchAlgoNegoFailException].getServerProposal()'
  - '[com.jcraft.jsch.JSchAlgoNegoFailException].failString(int,String,String)'
  - '[com.jcraft.jsch.JSchAlgoNegoFailException].algorithmNameFromIndex(int)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JSchAlgoNegoFailException.java
- function_names:
  - '[com.jcraft.jsch.KeyPairRSA].<init>(JSch.InstanceLogger)'
  - '[com.jcraft.jsch.KeyPairRSA].<init>(JSch.InstanceLogger,byte[],byte[],byte[])'
  - '[com.jcraft.jsch.KeyPairRSA].generate(int)'
  - '[com.jcraft.jsch.KeyPairRSA].getBegin()'
  - '[com.jcraft.jsch.KeyPairRSA].getEnd()'
  - '[com.jcraft.jsch.KeyPairRSA].getPrivateKey()'
  - '[com.jcraft.jsch.KeyPairRSA].getOpenSSHv1PrivateKeyBlob()'
  - '[com.jcraft.jsch.KeyPairRSA].parse(byte[])'
  - '[com.jcraft.jsch.KeyPairRSA].getPublicKeyBlob()'
  - '[com.jcraft.jsch.KeyPairRSA].getKeyTypeName()'
  - '[com.jcraft.jsch.KeyPairRSA].getKeyType()'
  - '[com.jcraft.jsch.KeyPairRSA].getKeySize()'
  - '[com.jcraft.jsch.KeyPairRSA].getSignature(byte[])'
  - '[com.jcraft.jsch.KeyPairRSA].getSignature(byte[],String)'
  - '[com.jcraft.jsch.KeyPairRSA].getVerifier()'
  - '[com.jcraft.jsch.KeyPairRSA].getVerifier(String)'
  - '[com.jcraft.jsch.KeyPairRSA].fromSSHAgent(JSch.InstanceLogger,com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.KeyPairRSA].forSSHAgent()'
  - '[com.jcraft.jsch.KeyPairRSA].getEPArray()'
  - '[com.jcraft.jsch.KeyPairRSA].getEQArray()'
  - '[com.jcraft.jsch.KeyPairRSA].getCArray()'
  - '[com.jcraft.jsch.KeyPairRSA].dispose()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/KeyPairRSA.java
- function_names:
  - '[com.jcraft.jsch.AgentProxy].<init>(com.jcraft.jsch.AgentConnector)'
  - '[com.jcraft.jsch.AgentProxy].getIdentities()'
  - '[com.jcraft.jsch.AgentProxy].sign(byte[],byte[],String)'
  - '[com.jcraft.jsch.AgentProxy].removeIdentity(byte[])'
  - '[com.jcraft.jsch.AgentProxy].removeAllIdentities()'
  - '[com.jcraft.jsch.AgentProxy].addIdentity(byte[])'
  - '[com.jcraft.jsch.AgentProxy].isRunning()'
  - '[com.jcraft.jsch.AgentProxy].getConnector()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/AgentProxy.java
- function_names:
  - '[com.jcraft.jsch.RequestShell].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - '[com.jcraft.jsch.RequestShell].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/RequestShell.java
- function_names:
  - '[com.jcraft.jsch.JSchRevokedHostKeyException].<init>()'
  - '[com.jcraft.jsch.JSchRevokedHostKeyException].<init>(String)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JSchRevokedHostKeyException.java
- function_names:
  - '[com.jcraft.jsch.Packet].setRandom(com.jcraft.jsch.Random)'
  - '[com.jcraft.jsch.Packet].<init>(com.jcraft.jsch.Buffer)'
  - '[com.jcraft.jsch.Packet].reset()'
  - '[com.jcraft.jsch.Packet].padding(int,boolean)'
  - '[com.jcraft.jsch.Packet].shift(int,int,int)'
  - '[com.jcraft.jsch.Packet].unshift(byte,int,int,int)'
  - '[com.jcraft.jsch.Packet].getBuffer()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/Packet.java
- function_names:
  - '[com.jcraft.jsch.RequestSignal].setSignal(String)'
  - '[com.jcraft.jsch.RequestSignal].request(com.jcraft.jsch.Session,com.jcraft.jsch.Channel)'
  - '[com.jcraft.jsch.RequestSignal].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/RequestSignal.java
- function_names:
  - '[com.jcraft.jsch.JSchAuthCancelException].<init>()'
  - '[com.jcraft.jsch.JSchAuthCancelException].<init>(String)'
  - '[com.jcraft.jsch.JSchAuthCancelException].getMethod()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/JSchAuthCancelException.java
- function_names:
  - '[com.jcraft.jsch.jzlib.Deflater].<init>()'
  - '[com.jcraft.jsch.jzlib.Deflater].<init>(int)'
  - '[com.jcraft.jsch.jzlib.Deflater].<init>(int,boolean)'
  - '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int)'
  - '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,boolean)'
  - '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,int,JZlib.WrapperType)'
  - '[com.jcraft.jsch.jzlib.Deflater].<init>(int,int,int)'
  - '[com.jcraft.jsch.jzlib.Deflater].init(int)'
  - '[com.jcraft.jsch.jzlib.Deflater].init(int,boolean)'
  - '[com.jcraft.jsch.jzlib.Deflater].init(int,int)'
  - '[com.jcraft.jsch.jzlib.Deflater].init(int,int,int,JZlib.WrapperType)'
  - '[com.jcraft.jsch.jzlib.Deflater].init(int,int,int)'
  - '[com.jcraft.jsch.jzlib.Deflater].init(int,int,boolean)'
  - '[com.jcraft.jsch.jzlib.Deflater].deflate(int)'
  - '[com.jcraft.jsch.jzlib.Deflater].end()'
  - '[com.jcraft.jsch.jzlib.Deflater].params(int,int)'
  - '[com.jcraft.jsch.jzlib.Deflater].setDictionary(byte[],int)'
  - '[com.jcraft.jsch.jzlib.Deflater].finished()'
  - '[com.jcraft.jsch.jzlib.Deflater].copy(com.jcraft.jsch.jzlib.Deflater)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflater.java
- function_names:
  - '[com.jcraft.jsch.jzlib.Inflater].<init>()'
  - '[com.jcraft.jsch.jzlib.Inflater].<init>(JZlib.WrapperType)'
  - '[com.jcraft.jsch.jzlib.Inflater].<init>(int,JZlib.WrapperType)'
  - '[com.jcraft.jsch.jzlib.Inflater].<init>(int)'
  - '[com.jcraft.jsch.jzlib.Inflater].<init>(boolean)'
  - '[com.jcraft.jsch.jzlib.Inflater].<init>(int,boolean)'
  - '[com.jcraft.jsch.jzlib.Inflater].reset()'
  - '[com.jcraft.jsch.jzlib.Inflater].init()'
  - '[com.jcraft.jsch.jzlib.Inflater].init(JZlib.WrapperType)'
  - '[com.jcraft.jsch.jzlib.Inflater].init(int,JZlib.WrapperType)'
  - '[com.jcraft.jsch.jzlib.Inflater].init(boolean)'
  - '[com.jcraft.jsch.jzlib.Inflater].init(int)'
  - '[com.jcraft.jsch.jzlib.Inflater].init(int,boolean)'
  - '[com.jcraft.jsch.jzlib.Inflater].inflate(int)'
  - '[com.jcraft.jsch.jzlib.Inflater].end()'
  - '[com.jcraft.jsch.jzlib.Inflater].sync()'
  - '[com.jcraft.jsch.jzlib.Inflater].syncPoint()'
  - '[com.jcraft.jsch.jzlib.Inflater].setDictionary(byte[],int)'
  - '[com.jcraft.jsch.jzlib.Inflater].finished()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflater.java
- function_names:
  - '[com.jcraft.jsch.jzlib.InfTree].huft_build(int[],int,int,int,int[],int[],int[],int[],int[],int[],int[])'
  - '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_bits(int[],int[],int[],int[],com.jcraft.jsch.jzlib.ZStream)'
  - '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_dynamic(int,int,int[],int[],int[],int[],int[],int[],com.jcraft.jsch.jzlib.ZStream)'
  - '[com.jcraft.jsch.jzlib.InfTree].inflate_trees_fixed(int[],int[],int[][],int[][],com.jcraft.jsch.jzlib.ZStream)'
  - '[com.jcraft.jsch.jzlib.InfTree].initWorkArea(int)'
  - '[com.jcraft.jsch.jzlib.InfTree].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfTree.java
- function_names:
  - '[com.jcraft.jsch.jzlib.ZStream].<init>()'
  - '[com.jcraft.jsch.jzlib.ZStream].<init>(com.jcraft.jsch.jzlib.Checksum)'
  - '[com.jcraft.jsch.jzlib.ZStream].inflateInit()'
  - '[com.jcraft.jsch.jzlib.ZStream].inflateInit(boolean)'
  - '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int)'
  - '[com.jcraft.jsch.jzlib.ZStream].inflateInit(JZlib.WrapperType)'
  - '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int,JZlib.WrapperType)'
  - '[com.jcraft.jsch.jzlib.ZStream].inflateInit(int,boolean)'
  - '[com.jcraft.jsch.jzlib.ZStream].inflate(int)'
  - '[com.jcraft.jsch.jzlib.ZStream].inflateEnd()'
  - '[com.jcraft.jsch.jzlib.ZStream].inflateSync()'
  - '[com.jcraft.jsch.jzlib.ZStream].inflateSyncPoint()'
  - '[com.jcraft.jsch.jzlib.ZStream].inflateSetDictionary(byte[],int)'
  - '[com.jcraft.jsch.jzlib.ZStream].inflateFinished()'
  - '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int)'
  - '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,boolean)'
  - '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int)'
  - '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int,int,JZlib.WrapperType)'
  - '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int,int)'
  - '[com.jcraft.jsch.jzlib.ZStream].deflateInit(int,int,boolean)'
  - '[com.jcraft.jsch.jzlib.ZStream].deflate(int)'
  - '[com.jcraft.jsch.jzlib.ZStream].deflateEnd()'
  - '[com.jcraft.jsch.jzlib.ZStream].deflateParams(int,int)'
  - '[com.jcraft.jsch.jzlib.ZStream].deflateSetDictionary(byte[],int)'
  - '[com.jcraft.jsch.jzlib.ZStream].flush_pending()'
  - '[com.jcraft.jsch.jzlib.ZStream].read_buf(byte[],int,int)'
  - '[com.jcraft.jsch.jzlib.ZStream].getAdler()'
  - '[com.jcraft.jsch.jzlib.ZStream].free()'
  - '[com.jcraft.jsch.jzlib.ZStream].setOutput(byte[])'
  - '[com.jcraft.jsch.jzlib.ZStream].setOutput(byte[],int,int)'
  - '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[])'
  - '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[],boolean)'
  - '[com.jcraft.jsch.jzlib.ZStream].setInput(byte[],int,int,boolean)'
  - '[com.jcraft.jsch.jzlib.ZStream].getNextIn()'
  - '[com.jcraft.jsch.jzlib.ZStream].setNextIn(byte[])'
  - '[com.jcraft.jsch.jzlib.ZStream].getNextInIndex()'
  - '[com.jcraft.jsch.jzlib.ZStream].setNextInIndex(int)'
  - '[com.jcraft.jsch.jzlib.ZStream].getAvailIn()'
  - '[com.jcraft.jsch.jzlib.ZStream].setAvailIn(int)'
  - '[com.jcraft.jsch.jzlib.ZStream].getNextOut()'
  - '[com.jcraft.jsch.jzlib.ZStream].setNextOut(byte[])'
  - '[com.jcraft.jsch.jzlib.ZStream].getNextOutIndex()'
  - '[com.jcraft.jsch.jzlib.ZStream].setNextOutIndex(int)'
  - '[com.jcraft.jsch.jzlib.ZStream].getAvailOut()'
  - '[com.jcraft.jsch.jzlib.ZStream].setAvailOut(int)'
  - '[com.jcraft.jsch.jzlib.ZStream].getTotalOut()'
  - '[com.jcraft.jsch.jzlib.ZStream].getTotalIn()'
  - '[com.jcraft.jsch.jzlib.ZStream].getMessage()'
  - '[com.jcraft.jsch.jzlib.ZStream].end()'
  - '[com.jcraft.jsch.jzlib.ZStream].finished()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/ZStream.java
- function_names:
  - '[com.jcraft.jsch.jzlib.Checksum].update(byte[],int,int)'
  - '[com.jcraft.jsch.jzlib.Checksum].reset()'
  - '[com.jcraft.jsch.jzlib.Checksum].reset(long)'
  - '[com.jcraft.jsch.jzlib.Checksum].getValue()'
  - '[com.jcraft.jsch.jzlib.Checksum].copy()'
  - '[com.jcraft.jsch.jzlib.Checksum].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Checksum.java
- function_names:
  - '[com.jcraft.jsch.jzlib.GZIPException].<init>()'
  - '[com.jcraft.jsch.jzlib.GZIPException].<init>(String)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPException.java
- function_names:
  - '[com.jcraft.jsch.jzlib.Tree].d_code(int)'
  - '[com.jcraft.jsch.jzlib.Tree].gen_bitlen(com.jcraft.jsch.jzlib.Deflate)'
  - '[com.jcraft.jsch.jzlib.Tree].build_tree(com.jcraft.jsch.jzlib.Deflate)'
  - '[com.jcraft.jsch.jzlib.Tree].gen_codes(short[],int,short[],short[])'
  - '[com.jcraft.jsch.jzlib.Tree].bi_reverse(int,int)'
  - '[com.jcraft.jsch.jzlib.Tree].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Tree.java
- function_names:
  - '[com.jcraft.jsch.jzlib.InfBlocks].<init>(com.jcraft.jsch.jzlib.ZStream,int)'
  - '[com.jcraft.jsch.jzlib.InfBlocks].reset()'
  - '[com.jcraft.jsch.jzlib.InfBlocks].proc(int)'
  - '[com.jcraft.jsch.jzlib.InfBlocks].free()'
  - '[com.jcraft.jsch.jzlib.InfBlocks].set_dictionary(byte[],int,int)'
  - '[com.jcraft.jsch.jzlib.InfBlocks].sync_point()'
  - '[com.jcraft.jsch.jzlib.InfBlocks].inflate_flush(int)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfBlocks.java
- function_names:
  - '[com.jcraft.jsch.jzlib.CRC32].update(byte[],int,int)'
  - '[com.jcraft.jsch.jzlib.CRC32].reset()'
  - '[com.jcraft.jsch.jzlib.CRC32].reset(long)'
  - '[com.jcraft.jsch.jzlib.CRC32].getValue()'
  - '[com.jcraft.jsch.jzlib.CRC32].combine(long,long,long)'
  - '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_times(long[],long)'
  - '[com.jcraft.jsch.jzlib.CRC32].gf2_matrix_square(long[],long[])'
  - '[com.jcraft.jsch.jzlib.CRC32].copy()'
  - '[com.jcraft.jsch.jzlib.CRC32].getCRC32Table()'
  - '[com.jcraft.jsch.jzlib.CRC32].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/CRC32.java
- function_names:
  - '[com.jcraft.jsch.jzlib.JZlib].version()'
  - '[com.jcraft.jsch.jzlib.JZlib].adler32_combine(long,long,long)'
  - '[com.jcraft.jsch.jzlib.JZlib].crc32_combine(long,long,long)'
  - '[com.jcraft.jsch.jzlib.JZlib].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/JZlib.java
- function_names:
  - '[com.jcraft.jsch.jzlib.Inflate].inflateReset()'
  - '[com.jcraft.jsch.jzlib.Inflate].inflateEnd()'
  - '[com.jcraft.jsch.jzlib.Inflate].<init>(com.jcraft.jsch.jzlib.ZStream)'
  - '[com.jcraft.jsch.jzlib.Inflate].inflateInit(int)'
  - '[com.jcraft.jsch.jzlib.Inflate].inflate(int)'
  - '[com.jcraft.jsch.jzlib.Inflate].inflateSetDictionary(byte[],int)'
  - '[com.jcraft.jsch.jzlib.Inflate].inflateSync()'
  - '[com.jcraft.jsch.jzlib.Inflate].inflateSyncPoint()'
  - '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,int,int)'
  - '[com.jcraft.jsch.jzlib.Inflate].readString(int,int)'
  - '[com.jcraft.jsch.jzlib.Inflate].readBytes(int,int)'
  - '[com.jcraft.jsch.jzlib.Inflate].checksum(int,long)'
  - '[com.jcraft.jsch.jzlib.Inflate].getGZIPHeader()'
  - '[com.jcraft.jsch.jzlib.Inflate].inParsingHeader()'
  - '[com.jcraft.jsch.jzlib.Inflate.Return].<init>(int)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Inflate.java
- function_names:
  - '[com.jcraft.jsch.jzlib.StaticTree].<init>(short[],int[],int,int,int)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/StaticTree.java
- function_names:
  - '[com.jcraft.jsch.jzlib.Compression].<init>()'
  - '[com.jcraft.jsch.jzlib.Compression].logMessage(int,java.util.function.Supplier<String>)'
  - '[com.jcraft.jsch.jzlib.Compression].end()'
  - '[com.jcraft.jsch.jzlib.Compression].init(int,int,com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.jzlib.Compression].init(int,int)'
  - '[com.jcraft.jsch.jzlib.Compression].compress(byte[],int,int[])'
  - '[com.jcraft.jsch.jzlib.Compression].uncompress(byte[],int,int[])'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Compression.java
- function_names:
  - '[com.jcraft.jsch.jzlib.Deflate].<init>(com.jcraft.jsch.jzlib.ZStream)'
  - '[com.jcraft.jsch.jzlib.Deflate].lm_init()'
  - '[com.jcraft.jsch.jzlib.Deflate].tr_init()'
  - '[com.jcraft.jsch.jzlib.Deflate].init_block()'
  - '[com.jcraft.jsch.jzlib.Deflate].pqdownheap(short[],int)'
  - '[com.jcraft.jsch.jzlib.Deflate].smaller(short[],int,int,byte[])'
  - '[com.jcraft.jsch.jzlib.Deflate].scan_tree(short[],int)'
  - '[com.jcraft.jsch.jzlib.Deflate].build_bl_tree()'
  - '[com.jcraft.jsch.jzlib.Deflate].send_all_trees(int,int,int)'
  - '[com.jcraft.jsch.jzlib.Deflate].send_tree(short[],int)'
  - '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte[],int,int)'
  - '[com.jcraft.jsch.jzlib.Deflate].put_byte(byte)'
  - '[com.jcraft.jsch.jzlib.Deflate].put_short(int)'
  - '[com.jcraft.jsch.jzlib.Deflate].putShortMSB(int)'
  - '[com.jcraft.jsch.jzlib.Deflate].send_code(int,short[])'
  - '[com.jcraft.jsch.jzlib.Deflate].send_bits(int,int)'
  - '[com.jcraft.jsch.jzlib.Deflate]._tr_align()'
  - '[com.jcraft.jsch.jzlib.Deflate]._tr_tally(int,int)'
  - '[com.jcraft.jsch.jzlib.Deflate].compress_block(short[],short[])'
  - '[com.jcraft.jsch.jzlib.Deflate].set_data_type()'
  - '[com.jcraft.jsch.jzlib.Deflate].bi_flush()'
  - '[com.jcraft.jsch.jzlib.Deflate].bi_windup()'
  - '[com.jcraft.jsch.jzlib.Deflate].copy_block(int,int,boolean)'
  - '[com.jcraft.jsch.jzlib.Deflate].flush_block_only(boolean)'
  - '[com.jcraft.jsch.jzlib.Deflate].deflate_stored(int)'
  - '[com.jcraft.jsch.jzlib.Deflate]._tr_stored_block(int,int,boolean)'
  - '[com.jcraft.jsch.jzlib.Deflate]._tr_flush_block(int,int,boolean)'
  - '[com.jcraft.jsch.jzlib.Deflate].fill_window()'
  - '[com.jcraft.jsch.jzlib.Deflate].deflate_fast(int)'
  - '[com.jcraft.jsch.jzlib.Deflate].deflate_slow(int)'
  - '[com.jcraft.jsch.jzlib.Deflate].longest_match(int)'
  - '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int,int)'
  - '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int)'
  - '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int)'
  - '[com.jcraft.jsch.jzlib.Deflate].deflateInit(int,int,int,int,int)'
  - '[com.jcraft.jsch.jzlib.Deflate].deflateReset()'
  - '[com.jcraft.jsch.jzlib.Deflate].deflateEnd()'
  - '[com.jcraft.jsch.jzlib.Deflate].deflateParams(int,int)'
  - '[com.jcraft.jsch.jzlib.Deflate].deflateSetDictionary(byte[],int)'
  - '[com.jcraft.jsch.jzlib.Deflate].deflate(int)'
  - '[com.jcraft.jsch.jzlib.Deflate].deflateCopy(com.jcraft.jsch.jzlib.ZStream,com.jcraft.jsch.jzlib.ZStream)'
  - '[com.jcraft.jsch.jzlib.Deflate].clone()'
  - '[com.jcraft.jsch.jzlib.Deflate].dup(byte[])'
  - '[com.jcraft.jsch.jzlib.Deflate].dup(short[])'
  - '[com.jcraft.jsch.jzlib.Deflate].dup(int[])'
  - '[com.jcraft.jsch.jzlib.Deflate].getGZIPHeader()'
  - '[com.jcraft.jsch.jzlib.Deflate.Config].<init>(int,int,int,int,int)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Deflate.java
- function_names:
  - '[com.jcraft.jsch.jzlib.Adler32].reset(long)'
  - '[com.jcraft.jsch.jzlib.Adler32].reset()'
  - '[com.jcraft.jsch.jzlib.Adler32].getValue()'
  - '[com.jcraft.jsch.jzlib.Adler32].update(byte[],int,int)'
  - '[com.jcraft.jsch.jzlib.Adler32].copy()'
  - '[com.jcraft.jsch.jzlib.Adler32].combine(long,long,long)'
  - '[com.jcraft.jsch.jzlib.Adler32].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/Adler32.java
- function_names:
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream)'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,boolean)'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater)'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater,int)'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].<init>(java.io.InputStream,com.jcraft.jsch.jzlib.Inflater,int,boolean)'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].read()'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].read(byte[],int,int)'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].available()'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].skip(long)'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].close()'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].fill()'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].markSupported()'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].mark(int)'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].reset()'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].getTotalIn()'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].getTotalOut()'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].getAvailIn()'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].readHeader()'
  - '[com.jcraft.jsch.jzlib.InflaterInputStream].getInflater()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InflaterInputStream.java
- function_names:
  - '[com.jcraft.jsch.jzlib.InfCodes].<init>(com.jcraft.jsch.jzlib.ZStream,com.jcraft.jsch.jzlib.InfBlocks)'
  - '[com.jcraft.jsch.jzlib.InfCodes].init(int,int,int[],int,int[],int)'
  - '[com.jcraft.jsch.jzlib.InfCodes].proc(int)'
  - '[com.jcraft.jsch.jzlib.InfCodes].free(com.jcraft.jsch.jzlib.ZStream)'
  - '[com.jcraft.jsch.jzlib.InfCodes].inflate_fast(int,int,int[],int,int[],int,com.jcraft.jsch.jzlib.InfBlocks,com.jcraft.jsch.jzlib.ZStream)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/InfCodes.java
- function_names:
  - '[com.jcraft.jsch.jzlib.GZIPHeader].setModifiedTime(long)'
  - '[com.jcraft.jsch.jzlib.GZIPHeader].getModifiedTime()'
  - '[com.jcraft.jsch.jzlib.GZIPHeader].setOS(int)'
  - '[com.jcraft.jsch.jzlib.GZIPHeader].getOS()'
  - '[com.jcraft.jsch.jzlib.GZIPHeader].setName(String)'
  - '[com.jcraft.jsch.jzlib.GZIPHeader].getName()'
  - '[com.jcraft.jsch.jzlib.GZIPHeader].setComment(String)'
  - '[com.jcraft.jsch.jzlib.GZIPHeader].getComment()'
  - '[com.jcraft.jsch.jzlib.GZIPHeader].setCRC(long)'
  - '[com.jcraft.jsch.jzlib.GZIPHeader].getCRC()'
  - '[com.jcraft.jsch.jzlib.GZIPHeader].put(com.jcraft.jsch.jzlib.Deflate)'
  - '[com.jcraft.jsch.jzlib.GZIPHeader].clone()'
  - '[com.jcraft.jsch.jzlib.GZIPHeader].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/GZIPHeader.java
- function_names:
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream)'
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater)'
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater,int)'
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].<init>(java.io.OutputStream,com.jcraft.jsch.jzlib.Deflater,int,boolean)'
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].write(int)'
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].write(byte[],int,int)'
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].finish()'
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].close()'
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].deflate(int)'
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].flush()'
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].getTotalIn()'
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].getTotalOut()'
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].setSyncFlush(boolean)'
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].getSyncFlush()'
  - '[com.jcraft.jsch.jzlib.DeflaterOutputStream].getDeflater()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jzlib/DeflaterOutputStream.java
- function_names: []
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/annotations/SuppressForbiddenApi.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACSHA512ETM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA512ETM.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACSHA1].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA1.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureRSASHA512].getName()'
  - '[com.jcraft.jsch.jce.SignatureRSASHA512].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA512.java
- function_names:
  - '[com.jcraft.jsch.jce.AES128CBC].getIVSize()'
  - '[com.jcraft.jsch.jce.AES128CBC].getBlockSize()'
  - '[com.jcraft.jsch.jce.AES128CBC].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.jce.AES128CBC].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.AES128CBC].isCBC()'
  - '[com.jcraft.jsch.jce.AES128CBC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128CBC.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureRSASHA256].getName()'
  - '[com.jcraft.jsch.jce.SignatureRSASHA256].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA256.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureRSASHA256SSHCOM].getName()'
  - '[com.jcraft.jsch.jce.SignatureRSASHA256SSHCOM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA256SSHCOM.java
- function_names:
  - '[com.jcraft.jsch.jce.AES256CTR].getIVSize()'
  - '[com.jcraft.jsch.jce.AES256CTR].getBlockSize()'
  - '[com.jcraft.jsch.jce.AES256CTR].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.jce.AES256CTR].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.AES256CTR].isCBC()'
  - '[com.jcraft.jsch.jce.AES256CTR].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256CTR.java
- function_names:
  - '[com.jcraft.jsch.jce.AES256GCM].getBlockSize()'
  - '[com.jcraft.jsch.jce.AES256GCM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256GCM.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureEd25519].<init>()'
  - '[com.jcraft.jsch.jce.SignatureEd25519].init()'
  - '[com.jcraft.jsch.jce.SignatureEd25519].setPubKey(byte[])'
  - '[com.jcraft.jsch.jce.SignatureEd25519].setPrvKey(byte[])'
  - '[com.jcraft.jsch.jce.SignatureEd25519].sign()'
  - '[com.jcraft.jsch.jce.SignatureEd25519].update(byte[])'
  - '[com.jcraft.jsch.jce.SignatureEd25519].verify(byte[])'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd25519.java
- function_names:
  - '[com.jcraft.jsch.jce.HMAC].getBlockSize()'
  - '[com.jcraft.jsch.jce.HMAC].init(byte[])'
  - '[com.jcraft.jsch.jce.HMAC].update(int)'
  - '[com.jcraft.jsch.jce.HMAC].update(byte,int,int)'
  - '[com.jcraft.jsch.jce.HMAC].doFinal(byte[],int)'
  - '[com.jcraft.jsch.jce.HMAC].getName()'
  - '[com.jcraft.jsch.jce.HMAC].isEtM()'
  - '[com.jcraft.jsch.jce.HMAC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMAC.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACSHA256ETM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA256ETM.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACSHA512SSHCOM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA512SSHCOM.java
- function_names:
  - '[com.jcraft.jsch.jce.AES128GCM].getBlockSize()'
  - '[com.jcraft.jsch.jce.AES128GCM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128GCM.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACSHA196ETM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA196ETM.java
- function_names:
  - '[com.jcraft.jsch.jce.ARCFOUR256].getIVSize()'
  - '[com.jcraft.jsch.jce.ARCFOUR256].getBlockSize()'
  - '[com.jcraft.jsch.jce.ARCFOUR256].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.jce.ARCFOUR256].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.ARCFOUR256].isCBC()'
  - '[com.jcraft.jsch.jce.ARCFOUR256].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR256.java
- function_names:
  - '[com.jcraft.jsch.jce.ARCFOUR128].getIVSize()'
  - '[com.jcraft.jsch.jce.ARCFOUR128].getBlockSize()'
  - '[com.jcraft.jsch.jce.ARCFOUR128].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.jce.ARCFOUR128].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.ARCFOUR128].isCBC()'
  - '[com.jcraft.jsch.jce.ARCFOUR128].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR128.java
- function_names:
  - '[com.jcraft.jsch.jce.ECDHN].init(int)'
  - '[com.jcraft.jsch.jce.ECDHN].getQ()'
  - '[com.jcraft.jsch.jce.ECDHN].getSecret(byte[],byte[])'
  - '[com.jcraft.jsch.jce.ECDHN].validate(byte[],byte[])'
  - '[com.jcraft.jsch.jce.ECDHN].toPoint(byte[],byte[])'
  - '[com.jcraft.jsch.jce.ECDHN].insert0(byte[])'
  - '[com.jcraft.jsch.jce.ECDHN].chop0(byte[])'
  - '[com.jcraft.jsch.jce.ECDHN].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDHN.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACMD596ETM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACMD596ETM.java
- function_names:
  - '[com.jcraft.jsch.jce.TripleDESCTR].getIVSize()'
  - '[com.jcraft.jsch.jce.TripleDESCTR].getBlockSize()'
  - '[com.jcraft.jsch.jce.TripleDESCTR].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.jce.TripleDESCTR].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.TripleDESCTR].isCBC()'
  - '[com.jcraft.jsch.jce.TripleDESCTR].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/TripleDESCTR.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACSHA196].<init>()'
  - '[com.jcraft.jsch.jce.HMACSHA196].getBlockSize()'
  - '[com.jcraft.jsch.jce.HMACSHA196].doFinal(byte[],int)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA196.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACSHA224SSHCOM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA224SSHCOM.java
- function_names:
  - '[com.jcraft.jsch.jce.AES192CTR].getIVSize()'
  - '[com.jcraft.jsch.jce.AES192CTR].getBlockSize()'
  - '[com.jcraft.jsch.jce.AES192CTR].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.jce.AES192CTR].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.AES192CTR].isCBC()'
  - '[com.jcraft.jsch.jce.AES192CTR].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES192CTR.java
- function_names:
  - '[com.jcraft.jsch.jce.AES192CBC].getIVSize()'
  - '[com.jcraft.jsch.jce.AES192CBC].getBlockSize()'
  - '[com.jcraft.jsch.jce.AES192CBC].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.jce.AES192CBC].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.AES192CBC].isCBC()'
  - '[com.jcraft.jsch.jce.AES192CBC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES192CBC.java
- function_names:
  - '[com.jcraft.jsch.jce.AES256CBC].getIVSize()'
  - '[com.jcraft.jsch.jce.AES256CBC].getBlockSize()'
  - '[com.jcraft.jsch.jce.AES256CBC].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.jce.AES256CBC].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.AES256CBC].isCBC()'
  - '[com.jcraft.jsch.jce.AES256CBC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES256CBC.java
- function_names:
  - '[com.jcraft.jsch.jce.KeyPairGenDSA].init(int)'
  - '[com.jcraft.jsch.jce.KeyPairGenDSA].getX()'
  - '[com.jcraft.jsch.jce.KeyPairGenDSA].getY()'
  - '[com.jcraft.jsch.jce.KeyPairGenDSA].getP()'
  - '[com.jcraft.jsch.jce.KeyPairGenDSA].getQ()'
  - '[com.jcraft.jsch.jce.KeyPairGenDSA].getG()'
  - '[com.jcraft.jsch.jce.KeyPairGenDSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenDSA.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureDSA].init()'
  - '[com.jcraft.jsch.jce.SignatureDSA].setPubKey(byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.jce.SignatureDSA].setPrvKey(byte[],byte[],byte[],byte[])'
  - '[com.jcraft.jsch.jce.SignatureDSA].sign()'
  - '[com.jcraft.jsch.jce.SignatureDSA].update(byte[])'
  - '[com.jcraft.jsch.jce.SignatureDSA].verify(byte[])'
  - '[com.jcraft.jsch.jce.SignatureDSA].normalize(byte[])'
  - '[com.jcraft.jsch.jce.SignatureDSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureDSA.java
- function_names:
  - '[com.jcraft.jsch.jce.ECDH521].init()'
  - '[com.jcraft.jsch.jce.ECDH521].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDH521.java
- function_names:
  - '[com.jcraft.jsch.jce.DH].init()'
  - '[com.jcraft.jsch.jce.DH].getE()'
  - '[com.jcraft.jsch.jce.DH].getK()'
  - '[com.jcraft.jsch.jce.DH].setP(byte[])'
  - '[com.jcraft.jsch.jce.DH].setG(byte[])'
  - '[com.jcraft.jsch.jce.DH].setF(byte[])'
  - '[com.jcraft.jsch.jce.DH].setP(java.math.BigInteger)'
  - '[com.jcraft.jsch.jce.DH].setG(java.math.BigInteger)'
  - '[com.jcraft.jsch.jce.DH].setF(java.math.BigInteger)'
  - '[com.jcraft.jsch.jce.DH].checkRange()'
  - '[com.jcraft.jsch.jce.DH].checkRange(java.math.BigInteger)'
  - '[com.jcraft.jsch.jce.DH].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/DH.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACSHA384SSHCOM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA384SSHCOM.java
- function_names:
  - '[com.jcraft.jsch.jce.SHA1].getBlockSize()'
  - '[com.jcraft.jsch.jce.SHA1].init()'
  - '[com.jcraft.jsch.jce.SHA1].update(byte[],int,int)'
  - '[com.jcraft.jsch.jce.SHA1].digest()'
  - '[com.jcraft.jsch.jce.SHA1].name()'
  - '[com.jcraft.jsch.jce.SHA1].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA1.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACSHA256SSHCOM].<init>()'
  - '[com.jcraft.jsch.jce.HMACSHA256SSHCOM].getBlockSize()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA256SSHCOM.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACSHA512].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA512.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureRSASHA224SSHCOM].getName()'
  - '[com.jcraft.jsch.jce.SignatureRSASHA224SSHCOM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA224SSHCOM.java
- function_names:
  - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].<init>()'
  - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].init(String,int)'
  - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPrv()'
  - '[com.jcraft.jsch.jce.KeyPairGenEdDSA].getPub()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenEdDSA.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACSHA2562SSHCOM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA2562SSHCOM.java
- function_names:
  - '[com.jcraft.jsch.jce.AES128CTR].getIVSize()'
  - '[com.jcraft.jsch.jce.AES128CTR].getBlockSize()'
  - '[com.jcraft.jsch.jce.AES128CTR].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.jce.AES128CTR].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.AES128CTR].isCBC()'
  - '[com.jcraft.jsch.jce.AES128CTR].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/AES128CTR.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureECDSAN].getName()'
  - '[com.jcraft.jsch.jce.SignatureECDSAN].init()'
  - '[com.jcraft.jsch.jce.SignatureECDSAN].setPubKey(byte[],byte[])'
  - '[com.jcraft.jsch.jce.SignatureECDSAN].setPrvKey(byte[])'
  - '[com.jcraft.jsch.jce.SignatureECDSAN].sign()'
  - '[com.jcraft.jsch.jce.SignatureECDSAN].update(byte[])'
  - '[com.jcraft.jsch.jce.SignatureECDSAN].verify(byte[])'
  - '[com.jcraft.jsch.jce.SignatureECDSAN].insert0(byte[])'
  - '[com.jcraft.jsch.jce.SignatureECDSAN].chop0(byte[])'
  - '[com.jcraft.jsch.jce.SignatureECDSAN].trimLeadingZeros(byte[])'
  - '[com.jcraft.jsch.jce.SignatureECDSAN].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSAN.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACSHA1ETM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA1ETM.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureRSASHA384SSHCOM].getName()'
  - '[com.jcraft.jsch.jce.SignatureRSASHA384SSHCOM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA384SSHCOM.java
- function_names:
  - '[com.jcraft.jsch.jce.Util].bzero(byte[])'
  - '[com.jcraft.jsch.jce.Util].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/Util.java
- function_names:
  - '[com.jcraft.jsch.jce.ARCFOUR].getIVSize()'
  - '[com.jcraft.jsch.jce.ARCFOUR].getBlockSize()'
  - '[com.jcraft.jsch.jce.ARCFOUR].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.jce.ARCFOUR].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.ARCFOUR].isCBC()'
  - '[com.jcraft.jsch.jce.ARCFOUR].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/ARCFOUR.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACSHA256].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACSHA256.java
- function_names:
  - '[com.jcraft.jsch.jce.XDH].<init>()'
  - '[com.jcraft.jsch.jce.XDH].init(String,int)'
  - '[com.jcraft.jsch.jce.XDH].getQ()'
  - '[com.jcraft.jsch.jce.XDH].getSecret(byte[])'
  - '[com.jcraft.jsch.jce.XDH].validate(byte[])'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/XDH.java
- function_names:
  - '[com.jcraft.jsch.jce.SHA256].getBlockSize()'
  - '[com.jcraft.jsch.jce.SHA256].init()'
  - '[com.jcraft.jsch.jce.SHA256].update(byte[],int,int)'
  - '[com.jcraft.jsch.jce.SHA256].digest()'
  - '[com.jcraft.jsch.jce.SHA256].name()'
  - '[com.jcraft.jsch.jce.SHA256].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA256.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureECDSA384].getName()'
  - '[com.jcraft.jsch.jce.SignatureECDSA384].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSA384.java
- function_names:
  - '[com.jcraft.jsch.jce.SHA224].getBlockSize()'
  - '[com.jcraft.jsch.jce.SHA224].init()'
  - '[com.jcraft.jsch.jce.SHA224].update(byte[],int,int)'
  - '[com.jcraft.jsch.jce.SHA224].digest()'
  - '[com.jcraft.jsch.jce.SHA224].name()'
  - '[com.jcraft.jsch.jce.SHA224].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA224.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureRSASHA512SSHCOM].getName()'
  - '[com.jcraft.jsch.jce.SignatureRSASHA512SSHCOM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSASHA512SSHCOM.java
- function_names:
  - '[com.jcraft.jsch.jce.MD5].getBlockSize()'
  - '[com.jcraft.jsch.jce.MD5].init()'
  - '[com.jcraft.jsch.jce.MD5].update(byte[],int,int)'
  - '[com.jcraft.jsch.jce.MD5].digest()'
  - '[com.jcraft.jsch.jce.MD5].name()'
  - '[com.jcraft.jsch.jce.MD5].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/MD5.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureRSAN].getName()'
  - '[com.jcraft.jsch.jce.SignatureRSAN].init()'
  - '[com.jcraft.jsch.jce.SignatureRSAN].setPubKey(byte[],byte[])'
  - '[com.jcraft.jsch.jce.SignatureRSAN].setPrvKey(byte[],byte[])'
  - '[com.jcraft.jsch.jce.SignatureRSAN].sign()'
  - '[com.jcraft.jsch.jce.SignatureRSAN].update(byte[])'
  - '[com.jcraft.jsch.jce.SignatureRSAN].verify(byte[])'
  - '[com.jcraft.jsch.jce.SignatureRSAN].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSAN.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureECDSA256].getName()'
  - '[com.jcraft.jsch.jce.SignatureECDSA256].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSA256.java
- function_names:
  - '[com.jcraft.jsch.jce.AESGCM].getIVSize()'
  - '[com.jcraft.jsch.jce.AESGCM].getTagSize()'
  - '[com.jcraft.jsch.jce.AESGCM].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.jce.AESGCM].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.AESGCM].updateAAD(byte[],int,int)'
  - '[com.jcraft.jsch.jce.AESGCM].doFinal(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.AESGCM].isCBC()'
  - '[com.jcraft.jsch.jce.AESGCM].isAEAD()'
  - '[com.jcraft.jsch.jce.AESGCM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/AESGCM.java
- function_names:
  - '[com.jcraft.jsch.jce.PBKDF2].initWithASN1(byte[])'
  - '[com.jcraft.jsch.jce.PBKDF2].getKey(byte[],int)'
  - '[com.jcraft.jsch.jce.PBKDF2].getJceName(byte[])'
  - '[com.jcraft.jsch.jce.PBKDF2].toHex(byte[])'
  - '[com.jcraft.jsch.jce.PBKDF2].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/PBKDF2.java
- function_names:
  - '[com.jcraft.jsch.jce.SHA384].getBlockSize()'
  - '[com.jcraft.jsch.jce.SHA384].init()'
  - '[com.jcraft.jsch.jce.SHA384].update(byte[],int,int)'
  - '[com.jcraft.jsch.jce.SHA384].digest()'
  - '[com.jcraft.jsch.jce.SHA384].name()'
  - '[com.jcraft.jsch.jce.SHA384].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA384.java
- function_names:
  - '[com.jcraft.jsch.jce.BlowfishCTR].getIVSize()'
  - '[com.jcraft.jsch.jce.BlowfishCTR].getBlockSize()'
  - '[com.jcraft.jsch.jce.BlowfishCTR].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.jce.BlowfishCTR].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.BlowfishCTR].isCBC()'
  - '[com.jcraft.jsch.jce.BlowfishCTR].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/BlowfishCTR.java
- function_names:
  - '[com.jcraft.jsch.jce.SHA512].getBlockSize()'
  - '[com.jcraft.jsch.jce.SHA512].init()'
  - '[com.jcraft.jsch.jce.SHA512].update(byte[],int,int)'
  - '[com.jcraft.jsch.jce.SHA512].digest()'
  - '[com.jcraft.jsch.jce.SHA512].name()'
  - '[com.jcraft.jsch.jce.SHA512].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SHA512.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureRSA].getName()'
  - '[com.jcraft.jsch.jce.SignatureRSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureRSA.java
- function_names:
  - '[com.jcraft.jsch.jce.KeyPairGenECDSA].init(int)'
  - '[com.jcraft.jsch.jce.KeyPairGenECDSA].getD()'
  - '[com.jcraft.jsch.jce.KeyPairGenECDSA].getR()'
  - '[com.jcraft.jsch.jce.KeyPairGenECDSA].getS()'
  - '[com.jcraft.jsch.jce.KeyPairGenECDSA].getPublicKey()'
  - '[com.jcraft.jsch.jce.KeyPairGenECDSA].getPrivateKey()'
  - '[com.jcraft.jsch.jce.KeyPairGenECDSA].insert0(byte[])'
  - '[com.jcraft.jsch.jce.KeyPairGenECDSA].chop0(byte[])'
  - '[com.jcraft.jsch.jce.KeyPairGenECDSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenECDSA.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureECDSA521].getName()'
  - '[com.jcraft.jsch.jce.SignatureECDSA521].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureECDSA521.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACMD5ETM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACMD5ETM.java
- function_names:
  - '[com.jcraft.jsch.jce.BlowfishCBC].getIVSize()'
  - '[com.jcraft.jsch.jce.BlowfishCBC].getBlockSize()'
  - '[com.jcraft.jsch.jce.BlowfishCBC].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.jce.BlowfishCBC].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.BlowfishCBC].isCBC()'
  - '[com.jcraft.jsch.jce.BlowfishCBC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/BlowfishCBC.java
- function_names:
  - '[com.jcraft.jsch.jce.TripleDESCBC].getIVSize()'
  - '[com.jcraft.jsch.jce.TripleDESCBC].getBlockSize()'
  - '[com.jcraft.jsch.jce.TripleDESCBC].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.jce.TripleDESCBC].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.jce.TripleDESCBC].isCBC()'
  - '[com.jcraft.jsch.jce.TripleDESCBC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/TripleDESCBC.java
- function_names:
  - '[com.jcraft.jsch.jce.SignatureEd448].<init>()'
  - '[com.jcraft.jsch.jce.SignatureEd448].init()'
  - '[com.jcraft.jsch.jce.SignatureEd448].setPubKey(byte[])'
  - '[com.jcraft.jsch.jce.SignatureEd448].setPrvKey(byte[])'
  - '[com.jcraft.jsch.jce.SignatureEd448].sign()'
  - '[com.jcraft.jsch.jce.SignatureEd448].update(byte[])'
  - '[com.jcraft.jsch.jce.SignatureEd448].verify(byte[])'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/SignatureEd448.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACMD5].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACMD5.java
- function_names:
  - '[com.jcraft.jsch.jce.KeyPairGenRSA].init(int)'
  - '[com.jcraft.jsch.jce.KeyPairGenRSA].getD()'
  - '[com.jcraft.jsch.jce.KeyPairGenRSA].getE()'
  - '[com.jcraft.jsch.jce.KeyPairGenRSA].getN()'
  - '[com.jcraft.jsch.jce.KeyPairGenRSA].getC()'
  - '[com.jcraft.jsch.jce.KeyPairGenRSA].getEP()'
  - '[com.jcraft.jsch.jce.KeyPairGenRSA].getEQ()'
  - '[com.jcraft.jsch.jce.KeyPairGenRSA].getP()'
  - '[com.jcraft.jsch.jce.KeyPairGenRSA].getQ()'
  - '[com.jcraft.jsch.jce.KeyPairGenRSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/KeyPairGenRSA.java
- function_names:
  - '[com.jcraft.jsch.jce.MLKEM1024].<init>()'
  - '[com.jcraft.jsch.jce.MLKEM1024].init()'
  - '[com.jcraft.jsch.jce.MLKEM1024].getPublicKey()'
  - '[com.jcraft.jsch.jce.MLKEM1024].decapsulate(byte[])'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/MLKEM1024.java
- function_names:
  - '[com.jcraft.jsch.jce.Random].<init>()'
  - '[com.jcraft.jsch.jce.Random].fill(byte[],int,int)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/Random.java
- function_names:
  - '[com.jcraft.jsch.jce.ECDH384].init()'
  - '[com.jcraft.jsch.jce.ECDH384].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDH384.java
- function_names:
  - '[com.jcraft.jsch.jce.MLKEM768].<init>()'
  - '[com.jcraft.jsch.jce.MLKEM768].init()'
  - '[com.jcraft.jsch.jce.MLKEM768].getPublicKey()'
  - '[com.jcraft.jsch.jce.MLKEM768].decapsulate(byte[])'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/MLKEM768.java
- function_names:
  - '[com.jcraft.jsch.jce.ECDH256].init()'
  - '[com.jcraft.jsch.jce.ECDH256].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/ECDH256.java
- function_names:
  - '[com.jcraft.jsch.jce.HMACMD596].<init>()'
  - '[com.jcraft.jsch.jce.HMACMD596].getBlockSize()'
  - '[com.jcraft.jsch.jce.HMACMD596].doFinal(byte[],int)'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jce/HMACMD596.java
- function_names:
  - '[com.jcraft.jsch.jbcrypt.JBCrypt].initWithOpenSSHv1KDFOptions(byte[])'
  - '[com.jcraft.jsch.jbcrypt.JBCrypt].getKey(byte[],int)'
  - '[com.jcraft.jsch.jbcrypt.JBCrypt].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/JBCrypt.java
- function_names:
  - '[com.jcraft.jsch.jbcrypt.BCrypt].encode_base64(byte,int)'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].char64(char)'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].decode_base64(String,int)'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].encipher(int,int)'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].streamtoword(byte,int)'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].init_key()'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].key(byte)'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].ekskey(byte,byte)'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].hash(byte[],byte[],byte[])'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].pbkdf(byte[],byte[],int,byte[])'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].crypt_raw(byte,byte,int,int)'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].hashpw(String,String)'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].gensalt(int,java.security.SecureRandom)'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].gensalt(int)'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].gensalt()'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].checkpw(String,String)'
  - '[com.jcraft.jsch.jbcrypt.BCrypt].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jbcrypt/BCrypt.java
- function_names:
  - '[com.jcraft.jsch.bc.Argon2].initWithPPKv3Header(java.util.Map<String,String>)'
  - '[com.jcraft.jsch.bc.Argon2].getKey(byte[],int)'
  - '[com.jcraft.jsch.bc.Argon2].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/Argon2.java
- function_names:
  - '[com.jcraft.jsch.bc.HMACRIPEMD160OpenSSH].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMACRIPEMD160OpenSSH.java
- function_names:
  - '[com.jcraft.jsch.bc.Twofish192CTR].getBlockSize()'
  - '[com.jcraft.jsch.bc.Twofish192CTR].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish192CTR.java
- function_names:
  - '[com.jcraft.jsch.bc.SignatureEd25519].getName()'
  - '[com.jcraft.jsch.bc.SignatureEd25519].getAlgo()'
  - '[com.jcraft.jsch.bc.SignatureEd25519].getKeylen()'
  - '[com.jcraft.jsch.bc.SignatureEd25519].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEd25519.java
- function_names:
  - '[com.jcraft.jsch.bc.HMAC].getBlockSize()'
  - '[com.jcraft.jsch.bc.HMAC].init(byte[])'
  - '[com.jcraft.jsch.bc.HMAC].update(int)'
  - '[com.jcraft.jsch.bc.HMAC].update(byte,int,int)'
  - '[com.jcraft.jsch.bc.HMAC].doFinal(byte[],int)'
  - '[com.jcraft.jsch.bc.HMAC].getName()'
  - '[com.jcraft.jsch.bc.HMAC].isEtM()'
  - '[com.jcraft.jsch.bc.HMAC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMAC.java
- function_names:
  - '[com.jcraft.jsch.bc.SNTRUP761].init()'
  - '[com.jcraft.jsch.bc.SNTRUP761].getPublicKey()'
  - '[com.jcraft.jsch.bc.SNTRUP761].decapsulate(byte[])'
  - '[com.jcraft.jsch.bc.SNTRUP761].sntrup761()'
  - '[com.jcraft.jsch.bc.SNTRUP761].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/SNTRUP761.java
- function_names:
  - '[com.jcraft.jsch.bc.HMACRIPEMD160ETM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMACRIPEMD160ETM.java
- function_names:
  - '[com.jcraft.jsch.bc.SCrypt].initWithASN1(byte[])'
  - '[com.jcraft.jsch.bc.SCrypt].getKey(byte[],int)'
  - '[com.jcraft.jsch.bc.SCrypt].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/SCrypt.java
- function_names:
  - '[com.jcraft.jsch.bc.Twofish256CTR].getBlockSize()'
  - '[com.jcraft.jsch.bc.Twofish256CTR].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish256CTR.java
- function_names:
  - '[com.jcraft.jsch.bc.HMACRIPEMD160].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/HMACRIPEMD160.java
- function_names:
  - '[com.jcraft.jsch.bc.MLKEM].init()'
  - '[com.jcraft.jsch.bc.MLKEM].getPublicKey()'
  - '[com.jcraft.jsch.bc.MLKEM].decapsulate(byte[])'
  - '[com.jcraft.jsch.bc.MLKEM].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/MLKEM.java
- function_names:
  - '[com.jcraft.jsch.bc.ChaCha20Poly1305].getIVSize()'
  - '[com.jcraft.jsch.bc.ChaCha20Poly1305].getBlockSize()'
  - '[com.jcraft.jsch.bc.ChaCha20Poly1305].getTagSize()'
  - '[com.jcraft.jsch.bc.ChaCha20Poly1305].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.bc.ChaCha20Poly1305].update(int)'
  - '[com.jcraft.jsch.bc.ChaCha20Poly1305].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.bc.ChaCha20Poly1305].doFinal(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.bc.ChaCha20Poly1305].isCBC()'
  - '[com.jcraft.jsch.bc.ChaCha20Poly1305].isAEAD()'
  - '[com.jcraft.jsch.bc.ChaCha20Poly1305].isChaCha20()'
  - '[com.jcraft.jsch.bc.ChaCha20Poly1305].arraysequals(byte[],byte[])'
  - '[com.jcraft.jsch.bc.ChaCha20Poly1305].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/ChaCha20Poly1305.java
- function_names:
  - '[com.jcraft.jsch.bc.Twofish256CBC].getBlockSize()'
  - '[com.jcraft.jsch.bc.Twofish256CBC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish256CBC.java
- function_names:
  - '[com.jcraft.jsch.bc.TwofishCTR].getIVSize()'
  - '[com.jcraft.jsch.bc.TwofishCTR].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.bc.TwofishCTR].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.bc.TwofishCTR].isCBC()'
  - '[com.jcraft.jsch.bc.TwofishCTR].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/TwofishCTR.java
- function_names:
  - '[com.jcraft.jsch.bc.CAST128CBC].getIVSize()'
  - '[com.jcraft.jsch.bc.CAST128CBC].getBlockSize()'
  - '[com.jcraft.jsch.bc.CAST128CBC].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.bc.CAST128CBC].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.bc.CAST128CBC].isCBC()'
  - '[com.jcraft.jsch.bc.CAST128CBC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/CAST128CBC.java
- function_names:
  - '[com.jcraft.jsch.bc.SignatureEdDSA].getName()'
  - '[com.jcraft.jsch.bc.SignatureEdDSA].getAlgo()'
  - '[com.jcraft.jsch.bc.SignatureEdDSA].getKeylen()'
  - '[com.jcraft.jsch.bc.SignatureEdDSA].init()'
  - '[com.jcraft.jsch.bc.SignatureEdDSA].setPubKey(byte[])'
  - '[com.jcraft.jsch.bc.SignatureEdDSA].setPrvKey(byte[])'
  - '[com.jcraft.jsch.bc.SignatureEdDSA].sign()'
  - '[com.jcraft.jsch.bc.SignatureEdDSA].update(byte[])'
  - '[com.jcraft.jsch.bc.SignatureEdDSA].verify(byte[])'
  - '[com.jcraft.jsch.bc.SignatureEdDSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEdDSA.java
- function_names:
  - '[com.jcraft.jsch.bc.KeyPairGenEdDSA].init(String,int)'
  - '[com.jcraft.jsch.bc.KeyPairGenEdDSA].getPrv()'
  - '[com.jcraft.jsch.bc.KeyPairGenEdDSA].getPub()'
  - '[com.jcraft.jsch.bc.KeyPairGenEdDSA].init(String,byte[])'
  - '[com.jcraft.jsch.bc.KeyPairGenEdDSA].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/KeyPairGenEdDSA.java
- function_names:
  - '[com.jcraft.jsch.bc.SEEDCBC].getIVSize()'
  - '[com.jcraft.jsch.bc.SEEDCBC].getBlockSize()'
  - '[com.jcraft.jsch.bc.SEEDCBC].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.bc.SEEDCBC].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.bc.SEEDCBC].isCBC()'
  - '[com.jcraft.jsch.bc.SEEDCBC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/SEEDCBC.java
- function_names:
  - '[com.jcraft.jsch.bc.Twofish128CTR].getBlockSize()'
  - '[com.jcraft.jsch.bc.Twofish128CTR].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish128CTR.java
- function_names:
  - '[com.jcraft.jsch.bc.XDH].init(String,int)'
  - '[com.jcraft.jsch.bc.XDH].getQ()'
  - '[com.jcraft.jsch.bc.XDH].getSecret(byte[])'
  - '[com.jcraft.jsch.bc.XDH].validate(byte[])'
  - '[com.jcraft.jsch.bc.XDH].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/XDH.java
- function_names:
  - '[com.jcraft.jsch.bc.CAST128CTR].getIVSize()'
  - '[com.jcraft.jsch.bc.CAST128CTR].getBlockSize()'
  - '[com.jcraft.jsch.bc.CAST128CTR].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.bc.CAST128CTR].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.bc.CAST128CTR].isCBC()'
  - '[com.jcraft.jsch.bc.CAST128CTR].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/CAST128CTR.java
- function_names:
  - '[com.jcraft.jsch.bc.Twofish192CBC].getBlockSize()'
  - '[com.jcraft.jsch.bc.Twofish192CBC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish192CBC.java
- function_names:
  - '[com.jcraft.jsch.bc.SignatureEd448].getName()'
  - '[com.jcraft.jsch.bc.SignatureEd448].getAlgo()'
  - '[com.jcraft.jsch.bc.SignatureEd448].getKeylen()'
  - '[com.jcraft.jsch.bc.SignatureEd448].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/SignatureEd448.java
- function_names:
  - '[com.jcraft.jsch.bc.MLKEM1024].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/MLKEM1024.java
- function_names:
  - '[com.jcraft.jsch.bc.MLKEM768].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/MLKEM768.java
- function_names:
  - '[com.jcraft.jsch.bc.Twofish128CBC].getBlockSize()'
  - '[com.jcraft.jsch.bc.Twofish128CBC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/Twofish128CBC.java
- function_names:
  - '[com.jcraft.jsch.bc.TwofishCBC].getIVSize()'
  - '[com.jcraft.jsch.bc.TwofishCBC].init(int,byte[],byte[])'
  - '[com.jcraft.jsch.bc.TwofishCBC].update(byte[],int,int,byte[],int)'
  - '[com.jcraft.jsch.bc.TwofishCBC].isCBC()'
  - '[com.jcraft.jsch.bc.TwofishCBC].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/bc/TwofishCBC.java
- function_names:
  - '[com.jcraft.jsch.jgss.GSSContextKrb5].create(String,String)'
  - '[com.jcraft.jsch.jgss.GSSContextKrb5].isEstablished()'
  - '[com.jcraft.jsch.jgss.GSSContextKrb5].init(byte[],int,int)'
  - '[com.jcraft.jsch.jgss.GSSContextKrb5].getMIC(byte[],int,int)'
  - '[com.jcraft.jsch.jgss.GSSContextKrb5].dispose()'
  - '[com.jcraft.jsch.jgss.GSSContextKrb5].getSystemProperty(String)'
  - '[com.jcraft.jsch.jgss.GSSContextKrb5].setSystemProperty(String,String)'
  - '[com.jcraft.jsch.jgss.GSSContextKrb5].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/jgss/GSSContextKrb5.java
- function_names:
  - '[com.jcraft.jsch.juz.Compression].<init>()'
  - '[com.jcraft.jsch.juz.Compression].logMessage(int,java.util.function.Supplier<String>)'
  - '[com.jcraft.jsch.juz.Compression].end()'
  - '[com.jcraft.jsch.juz.Compression].init(int,int,com.jcraft.jsch.Session)'
  - '[com.jcraft.jsch.juz.Compression].init(int,int)'
  - '[com.jcraft.jsch.juz.Compression].compress(byte[],int,int[])'
  - '[com.jcraft.jsch.juz.Compression].uncompress(byte[],int,int[])'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/juz/Compression.java
- function_names:
  - '[com.jcraft.jsch.asn1.ASN1].<init>(byte[])'
  - '[com.jcraft.jsch.asn1.ASN1].<init>(byte[],int,int)'
  - '[com.jcraft.jsch.asn1.ASN1].getType()'
  - '[com.jcraft.jsch.asn1.ASN1].isSEQUENCE()'
  - '[com.jcraft.jsch.asn1.ASN1].isINTEGER()'
  - '[com.jcraft.jsch.asn1.ASN1].isOBJECT()'
  - '[com.jcraft.jsch.asn1.ASN1].isOCTETSTRING()'
  - '[com.jcraft.jsch.asn1.ASN1].isNULL()'
  - '[com.jcraft.jsch.asn1.ASN1].isBITSTRING()'
  - '[com.jcraft.jsch.asn1.ASN1].isCONTEXTPRIMITIVE(int)'
  - '[com.jcraft.jsch.asn1.ASN1].isCONTEXTCONSTRUCTED(int)'
  - '[com.jcraft.jsch.asn1.ASN1].getLength(int[])'
  - '[com.jcraft.jsch.asn1.ASN1].getContent()'
  - '[com.jcraft.jsch.asn1.ASN1].getContents()'
  - '[com.jcraft.jsch.asn1.ASN1].getRaw()'
  - '[com.jcraft.jsch.asn1.ASN1].parseASN1IntegerAsInt(byte[])'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1.java
- function_names:
  - '[com.jcraft.jsch.asn1.ASN1Exception].<init>()'
  source_file: /src/jsch/src/main/java/com/jcraft/jsch/asn1/ASN1Exception.java
- function_names:
  - '[com.jcraft.jsch.Version].getVersion()'
  - '[com.jcraft.jsch.Version].<init>()'
  source_file: /src/jsch/src/main/java-templates/com/jcraft/jsch/Version.java
- function_names:
  - '[com.jcraft.jsch.Logger].main(String[])'
  - '[com.jcraft.jsch.Logger].<init>()'
  - '[Logger.MyLogger].isEnabled(int)'
  - '[Logger.MyLogger].log(int,String)'
  - '[Logger.MyLogger].<init>()'
  - '[Logger.MyUserInfo].getPassword()'
  - '[Logger.MyUserInfo].promptYesNo(String)'
  - '[Logger.MyUserInfo].getPassphrase()'
  - '[Logger.MyUserInfo].promptPassphrase(String)'
  - '[Logger.MyUserInfo].promptPassword(String)'
  - '[Logger.MyUserInfo].showMessage(String)'
  - '[Logger.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[Logger.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/Logger.java
- function_names:
  - '[Subsystem].main(String[])'
  - '[Subsystem].<init>()'
  - '[Subsystem.MyUserInfo].getPassword()'
  - '[Subsystem.MyUserInfo].promptYesNo(String)'
  - '[Subsystem.MyUserInfo].getPassphrase()'
  - '[Subsystem.MyUserInfo].promptPassphrase(String)'
  - '[Subsystem.MyUserInfo].promptPassword(String)'
  - '[Subsystem.MyUserInfo].showMessage(String)'
  - '[Subsystem.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[Subsystem.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/Subsystem.java
- function_names:
  - '[ViaSOCKS5].main(String[])'
  - '[ViaSOCKS5].<init>()'
  - '[ViaSOCKS5.MyUserInfo].getPassword()'
  - '[ViaSOCKS5.MyUserInfo].promptYesNo(String)'
  - '[ViaSOCKS5.MyUserInfo].getPassphrase()'
  - '[ViaSOCKS5.MyUserInfo].promptPassphrase(String)'
  - '[ViaSOCKS5.MyUserInfo].promptPassword(String)'
  - '[ViaSOCKS5.MyUserInfo].showMessage(String)'
  - '[ViaSOCKS5.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[ViaSOCKS5.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/ViaSOCKS5.java
- function_names:
  - '[X11Forwarding].main(String[])'
  - '[X11Forwarding].<init>()'
  - '[X11Forwarding.MyUserInfo].getPassword()'
  - '[X11Forwarding.MyUserInfo].promptYesNo(String)'
  - '[X11Forwarding.MyUserInfo].getPassphrase()'
  - '[X11Forwarding.MyUserInfo].promptPassphrase(String)'
  - '[X11Forwarding.MyUserInfo].promptPassword(String)'
  - '[X11Forwarding.MyUserInfo].showMessage(String)'
  - '[X11Forwarding.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[X11Forwarding.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/X11Forwarding.java
- function_names:
  - '[UserAuthKI].main(String[])'
  - '[UserAuthKI].<init>()'
  - '[UserAuthKI.MyUserInfo].getPassword()'
  - '[UserAuthKI.MyUserInfo].promptYesNo(String)'
  - '[UserAuthKI.MyUserInfo].getPassphrase()'
  - '[UserAuthKI.MyUserInfo].promptPassphrase(String)'
  - '[UserAuthKI.MyUserInfo].promptPassword(String)'
  - '[UserAuthKI.MyUserInfo].showMessage(String)'
  - '[UserAuthKI.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[UserAuthKI.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/UserAuthKI.java
- function_names:
  - '[Shell].main(String[])'
  - '[Shell].<init>()'
  - '[Shell.MyUserInfo].getPassword()'
  - '[Shell.MyUserInfo].getPassphrase()'
  - '[Shell.MyUserInfo].promptPassphrase(String)'
  - '[Shell.MyUserInfo].promptPassword(String)'
  - '[Shell.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[Shell.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/Shell.java
- function_names:
  - '[ScpFrom].main(String[])'
  - '[ScpFrom].checkAck(java.io.InputStream)'
  - '[ScpFrom].<init>()'
  - '[ScpFrom.MyUserInfo].getPassword()'
  - '[ScpFrom.MyUserInfo].promptYesNo(String)'
  - '[ScpFrom.MyUserInfo].getPassphrase()'
  - '[ScpFrom.MyUserInfo].promptPassphrase(String)'
  - '[ScpFrom.MyUserInfo].promptPassword(String)'
  - '[ScpFrom.MyUserInfo].showMessage(String)'
  - '[ScpFrom.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[ScpFrom.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/ScpFrom.java
- function_names:
  - '[UserAuthPubKey].main(String[])'
  - '[UserAuthPubKey].<init>()'
  - '[UserAuthPubKey.MyUserInfo].getPassword()'
  - '[UserAuthPubKey.MyUserInfo].promptYesNo(String)'
  - '[UserAuthPubKey.MyUserInfo].getPassphrase()'
  - '[UserAuthPubKey.MyUserInfo].promptPassphrase(String)'
  - '[UserAuthPubKey.MyUserInfo].promptPassword(String)'
  - '[UserAuthPubKey.MyUserInfo].showMessage(String)'
  - '[UserAuthPubKey.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[UserAuthPubKey.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/UserAuthPubKey.java
- function_names:
  - '[PortForwardingL].main(String[])'
  - '[PortForwardingL].<init>()'
  - '[PortForwardingL.MyUserInfo].getPassword()'
  - '[PortForwardingL.MyUserInfo].promptYesNo(String)'
  - '[PortForwardingL.MyUserInfo].getPassphrase()'
  - '[PortForwardingL.MyUserInfo].promptPassphrase(String)'
  - '[PortForwardingL.MyUserInfo].promptPassword(String)'
  - '[PortForwardingL.MyUserInfo].showMessage(String)'
  - '[PortForwardingL.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[PortForwardingL.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/PortForwardingL.java
- function_names:
  - '[ViaHTTP].main(String[])'
  - '[ViaHTTP].<init>()'
  - '[ViaHTTP.MyUserInfo].getPassword()'
  - '[ViaHTTP.MyUserInfo].promptYesNo(String)'
  - '[ViaHTTP.MyUserInfo].getPassphrase()'
  - '[ViaHTTP.MyUserInfo].promptPassphrase(String)'
  - '[ViaHTTP.MyUserInfo].promptPassword(String)'
  - '[ViaHTTP.MyUserInfo].showMessage(String)'
  - '[ViaHTTP.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[ViaHTTP.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/ViaHTTP.java
- function_names:
  - '[JumpHosts].main(String[])'
  - '[JumpHosts].<init>()'
  - '[JumpHosts.MyUserInfo].getPassword()'
  - '[JumpHosts.MyUserInfo].promptYesNo(String)'
  - '[JumpHosts.MyUserInfo].getPassphrase()'
  - '[JumpHosts.MyUserInfo].promptPassphrase(String)'
  - '[JumpHosts.MyUserInfo].promptPassword(String)'
  - '[JumpHosts.MyUserInfo].showMessage(String)'
  - '[JumpHosts.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[JumpHosts.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/JumpHosts.java
- function_names:
  - '[com.jcraft.jsch.KnownHosts].main(String[])'
  - '[com.jcraft.jsch.KnownHosts].<init>()'
  - '[KnownHosts.MyUserInfo].getPassword()'
  - '[KnownHosts.MyUserInfo].promptYesNo(String)'
  - '[KnownHosts.MyUserInfo].getPassphrase()'
  - '[KnownHosts.MyUserInfo].promptPassphrase(String)'
  - '[KnownHosts.MyUserInfo].promptPassword(String)'
  - '[KnownHosts.MyUserInfo].showMessage(String)'
  - '[KnownHosts.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[KnownHosts.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/KnownHosts.java
- function_names:
  - '[PortForwardingR].main(String[])'
  - '[PortForwardingR].<init>()'
  - '[PortForwardingR.MyUserInfo].getPassword()'
  - '[PortForwardingR.MyUserInfo].promptYesNo(String)'
  - '[PortForwardingR.MyUserInfo].getPassphrase()'
  - '[PortForwardingR.MyUserInfo].promptPassphrase(String)'
  - '[PortForwardingR.MyUserInfo].promptPassword(String)'
  - '[PortForwardingR.MyUserInfo].showMessage(String)'
  - '[PortForwardingR.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[PortForwardingR.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/PortForwardingR.java
- function_names:
  - '[KeyGen].main(String[])'
  - '[KeyGen].<init>()'
  source_file: /src/jsch/examples/KeyGen.java
- function_names:
  - '[ChangePassphrase].main(String[])'
  - '[ChangePassphrase].<init>()'
  source_file: /src/jsch/examples/ChangePassphrase.java
- function_names:
  - '[ScpToNoneCipher].main(String[])'
  - '[ScpToNoneCipher].checkAck(java.io.InputStream)'
  - '[ScpToNoneCipher].<init>()'
  - '[ScpToNoneCipher.MyUserInfo].getPassword()'
  - '[ScpToNoneCipher.MyUserInfo].promptYesNo(String)'
  - '[ScpToNoneCipher.MyUserInfo].getPassphrase()'
  - '[ScpToNoneCipher.MyUserInfo].promptPassphrase(String)'
  - '[ScpToNoneCipher.MyUserInfo].promptPassword(String)'
  - '[ScpToNoneCipher.MyUserInfo].showMessage(String)'
  - '[ScpToNoneCipher.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[ScpToNoneCipher.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/ScpToNoneCipher.java
- function_names:
  - '[Sudo].main(String[])'
  - '[Sudo].<init>()'
  - '[Sudo.MyUserInfo].getPassword()'
  - '[Sudo.MyUserInfo].promptYesNo(String)'
  - '[Sudo.MyUserInfo].getPassphrase()'
  - '[Sudo.MyUserInfo].promptPassphrase(String)'
  - '[Sudo.MyUserInfo].promptPassword(String)'
  - '[Sudo.MyUserInfo].showMessage(String)'
  - '[Sudo.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[Sudo.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/Sudo.java
- function_names:
  - '[Exec].main(String[])'
  - '[Exec].<init>()'
  - '[Exec.MyUserInfo].getPassword()'
  - '[Exec.MyUserInfo].promptYesNo(String)'
  - '[Exec.MyUserInfo].getPassphrase()'
  - '[Exec.MyUserInfo].promptPassphrase(String)'
  - '[Exec.MyUserInfo].promptPassword(String)'
  - '[Exec.MyUserInfo].showMessage(String)'
  - '[Exec.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[Exec.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/Exec.java
- function_names:
  - '[JSchWithAgentProxy].main(String[])'
  - '[JSchWithAgentProxy].<init>()'
  - '[JSchWithAgentProxy.MyUserInfo].getPassword()'
  - '[JSchWithAgentProxy.MyUserInfo].promptYesNo(String)'
  - '[JSchWithAgentProxy.MyUserInfo].getPassphrase()'
  - '[JSchWithAgentProxy.MyUserInfo].promptPassphrase(String)'
  - '[JSchWithAgentProxy.MyUserInfo].promptPassword(String)'
  - '[JSchWithAgentProxy.MyUserInfo].showMessage(String)'
  - '[JSchWithAgentProxy.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[JSchWithAgentProxy.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/JSchWithAgentProxy.java
- function_names:
  - '[KeyGenOpenSSHv1].main(String[])'
  - '[KeyGenOpenSSHv1].<init>()'
  source_file: /src/jsch/examples/KeyGenOpenSSHv1.java
- function_names:
  - '[StreamForwarding].main(String[])'
  - '[StreamForwarding].<init>()'
  - '[StreamForwarding.MyUserInfo].getPassword()'
  - '[StreamForwarding.MyUserInfo].promptYesNo(String)'
  - '[StreamForwarding.MyUserInfo].getPassphrase()'
  - '[StreamForwarding.MyUserInfo].promptPassphrase(String)'
  - '[StreamForwarding.MyUserInfo].promptPassword(String)'
  - '[StreamForwarding.MyUserInfo].showMessage(String)'
  - '[StreamForwarding.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[StreamForwarding.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/StreamForwarding.java
- function_names:
  - '[com.jcraft.jsch.Compression].main(String[])'
  - '[com.jcraft.jsch.Compression].<init>()'
  - '[Compression.MyUserInfo].getPassword()'
  - '[Compression.MyUserInfo].promptYesNo(String)'
  - '[Compression.MyUserInfo].getPassphrase()'
  - '[Compression.MyUserInfo].promptPassphrase(String)'
  - '[Compression.MyUserInfo].promptPassword(String)'
  - '[Compression.MyUserInfo].showMessage(String)'
  - '[Compression.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[Compression.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/Compression.java
- function_names:
  - '[Daemon].main(String[])'
  - '[Daemon].<init>()'
  - '[Daemon.Parrot].setChannel(com.jcraft.jsch.ChannelForwardedTCPIP,java.io.InputStream,java.io.OutputStream)'
  - '[Daemon.Parrot].setArg(Object[])'
  - '[Daemon.Parrot].run()'
  - '[Daemon.Parrot].<init>()'
  - '[Daemon.MyUserInfo].getPassword()'
  - '[Daemon.MyUserInfo].promptYesNo(String)'
  - '[Daemon.MyUserInfo].getPassphrase()'
  - '[Daemon.MyUserInfo].promptPassphrase(String)'
  - '[Daemon.MyUserInfo].promptPassword(String)'
  - '[Daemon.MyUserInfo].showMessage(String)'
  - '[Daemon.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[Daemon.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/Daemon.java
- function_names:
  - '[AES].main(String[])'
  - '[AES].<init>()'
  - '[AES.MyUserInfo].getPassword()'
  - '[AES.MyUserInfo].promptYesNo(String)'
  - '[AES.MyUserInfo].getPassphrase()'
  - '[AES.MyUserInfo].promptPassphrase(String)'
  - '[AES.MyUserInfo].promptPassword(String)'
  - '[AES.MyUserInfo].showMessage(String)'
  - '[AES.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[AES.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/AES.java
- function_names:
  - '[Sftp].main(String[])'
  - '[Sftp].<init>()'
  - '[Sftp.MyUserInfo].getPassword()'
  - '[Sftp.MyUserInfo].promptYesNo(String)'
  - '[Sftp.MyUserInfo].getPassphrase()'
  - '[Sftp.MyUserInfo].promptPassphrase(String)'
  - '[Sftp.MyUserInfo].promptPassword(String)'
  - '[Sftp.MyUserInfo].showMessage(String)'
  - '[Sftp.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[Sftp.MyUserInfo].<init>()'
  - '[Sftp.MyProgressMonitor].init(int,String,String,long)'
  - '[Sftp.MyProgressMonitor].count(long)'
  - '[Sftp.MyProgressMonitor].end()'
  - '[Sftp.MyProgressMonitor].<init>()'
  source_file: /src/jsch/examples/Sftp.java
- function_names:
  - '[com.jcraft.jsch.OpenSSHConfig].main(String[])'
  - '[com.jcraft.jsch.OpenSSHConfig].<init>()'
  - '[OpenSSHConfig.MyUserInfo].getPassword()'
  - '[OpenSSHConfig.MyUserInfo].getPassphrase()'
  - '[OpenSSHConfig.MyUserInfo].promptPassphrase(String)'
  - '[OpenSSHConfig.MyUserInfo].promptPassword(String)'
  - '[OpenSSHConfig.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[OpenSSHConfig.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/OpenSSHConfig.java
- function_names:
  - '[SocketForwardingL].main(String[])'
  - '[SocketForwardingL].<init>()'
  - '[SocketForwardingL.MyUserInfo].getPassword()'
  - '[SocketForwardingL.MyUserInfo].getPassphrase()'
  - '[SocketForwardingL.MyUserInfo].promptPassphrase(String)'
  - '[SocketForwardingL.MyUserInfo].promptPassword(String)'
  - '[SocketForwardingL.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[SocketForwardingL.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/SocketForwardingL.java
- function_names:
  - '[ScpTo].main(String[])'
  - '[ScpTo].checkAck(java.io.InputStream)'
  - '[ScpTo].<init>()'
  - '[ScpTo.MyUserInfo].getPassword()'
  - '[ScpTo.MyUserInfo].promptYesNo(String)'
  - '[ScpTo.MyUserInfo].getPassphrase()'
  - '[ScpTo.MyUserInfo].promptPassphrase(String)'
  - '[ScpTo.MyUserInfo].promptPassword(String)'
  - '[ScpTo.MyUserInfo].showMessage(String)'
  - '[ScpTo.MyUserInfo].promptKeyboardInteractive(String,String,String,String[],boolean[])'
  - '[ScpTo.MyUserInfo].<init>()'
  source_file: /src/jsch/examples/ScpTo.java
- function_names:
  - '[com.jcraft.jsch.Version].getVersion()'
  - '[com.jcraft.jsch.Version].<init>()'
  source_file: /src/jsch/target/generated-sources/java-templates/com/jcraft/jsch/Version.java
